iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >详解Redis 键和字符串常用命令
  • 821
分享到

详解Redis 键和字符串常用命令

2024-04-02 19:04:59 821人浏览 独家记忆
摘要

目录Redis 相关知识Redis中的数据类型redis 键(key)Redis字符串(String)常用命令String的数据结构Redis 相关知识 Redis的默认端口号为63

Redis 相关知识

Redis的默认端口号为6379

默认16个数据库,类似数组下标从0开始,初始默认使用0号库。
使用命令select <dbid>来切换数据库。 如: select 8。
统一密码管理,所有库同样密码。

dbsize查看当前数据库的key的数量。
flushdb清空当前库。
flushall通杀全部库。

Redis是单线程+多路io复用技术。
多路复用是指使用一个线程来检查多个文件描述符( Socket )的就绪状态,比如调用select和poll函数,传入多个文件描述符,如果有一个文件描述符就绪,则返回,否则阻塞直到超时。得到就绪状态后进行真正的操作可以在同一个线程里执行,也可以启动线程执行(比如使用线程池)。

串行 VS 多线程+锁 ( memcached) VS 单线程+ 多路IO复用(Redis)
Redis与Memcache三点不同:

  • 支持多数据类型
  • 支持持久化
  • 单线程+多路IO复用

Redis中的数据类型

redis 键(key)

keys *:查看当前库所有key (匹配 : keys *1)

exists key:判断某个key是否存在。
type key:查看你的key是什么类型。
del key:删除指定的key数据,

unlink key:根据value选择非阻塞删除。仅将keys从keyspace元数据中删除,真正的删除会在后续异步操作。。
expire key 10:10 秒钟,为给定的key设置过期时间,
ttl key:查看还有多少秒过期, -1表示永不过期, -2表示已过期。

select命令切换数据库,
dbsize查看当前数据库的key的数量。
flushdb清空当前库。
flushall通杀全部库

Redis字符串(String)

String是Redis 最基本的类型,一个key对应一个value。
String类型是二进制安全的。 意味着Redis的string可以包含任何数据。比如jpg图片
或者序列化的对象。
String类型是Redis最基本的数据类型, 一个Redis中字符串value最多可以是512M。

常用命令

set、get等

set <key> <value>:添加键值对。
当设置过值的key再被设置一个新的值时,新的值会覆盖旧的。

*NX:当数据库中key不存在时,可以将key-value添加数据库。
*XX:当数据库中key存在时,可以将key-value添加数据库,与NX参数互斥。
*EX: key的超时秒数。
*PX: key 的超时毫秒数,与EX互斥。

get <key> 查询对应键值.
append <key> <value>将给定的< value >追加到原值的末尾,
strlen <key> 获得值的长度。
setnx <key> <value>只有在key不存在时设置 key的值.

增减建的值

incr <key>

将key中储存的数字值增1。
只能对数字值操作,如果为空,新增值为10

decr <key>

将key中储存的数字值减1。
只能对数字值操作。如果为空,新增值为-1。

inrjy/ decrby <key><步长> 将key中储存的数字值增减。自定义步长。

注意:
incr和decr是原子操作
而java中的i++则不是原子操作

mset、mget和msetnx

mset <key1> <value1> <key2> <value2> ....

同时设置一个或多个key-value对。

mget <key1> <key2> <key3>

同时获取一个或多个value。

msetnx <key1> <value1> <key2> <value2>

它是原子性的
同时设置一个或多个 key-value对,当且仅当所有给定key都不存在时,才成功。

有一个是之前存在的则不成功

getrange、setrange

getrange <key> <起始位置><结束位置>

获得值的范围,类似java中的substring ,前包,后包

setrange <key> <起始位置> <value>

用覆写所储存的字符串值,从<起始位置:开始(索引从0开始)。

设置过期时间

setex <key> <过期时间><value>

设置键值的同时,设置过期时间,单位秒。

替换旧值

getset <key> <value>

以新换旧,设置了新值同时获得旧值。

String的数据结构

String的数据结构为简单动态字符串(Simple Dynamic String,縮写SDS)。是可以修改的字符串,内部结构实现上类似于Java的ArrayList ,采用预分配冗余空间的方式来减少内存的频繁分配。

如图中所示,内部为当前字符串实际分配的空间capacity一般要高于实际字符串长度len。当字符串长度小于1M时,扩容都是加倍现有的空间,如果超过1M,扩容时一次只会多扩1M的空间。需要注意的是字符串最大长度为512M。

到此这篇关于Redis 键和字符串常用命令的文章就介绍到这了,更多相关Redis 常用命令内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: 详解Redis 键和字符串常用命令

本文链接: https://www.lsjlt.com/news/138443.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 详解Redis 键和字符串常用命令
    目录Redis 相关知识Redis中的数据类型redis 键(key)Redis字符串(String)常用命令String的数据结构Redis 相关知识 Redis的默认端口号为63...
    99+
    2024-04-02
  • Redis常用命令(一) 字符串键、散列键
    redis是key-value的数据结构,每条数据都是一个键值对键的类型是字符串,因为默认是字符串所以都不用加引号注意:键不能重复值的类型分为五种:    字符串st...
    99+
    2024-04-02
  • Redis中键和字符串常用命令有哪些
    这篇文章将为大家详细讲解有关Redis中键和字符串常用命令有哪些,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。Redis 相关知识Redis的默认端口号为6379默认16个数据库,类似数组下标从0开始,初...
    99+
    2023-06-29
  • Redis字符串命令有哪些
    这篇文章主要介绍“Redis字符串命令有哪些”,在日常操作中,相信很多人在Redis字符串命令有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Redis字符串命令有哪些”的疑惑有所帮助!接下来,请跟着小编...
    99+
    2023-06-19
  • 基于字符串常用API(详解)
    API(Application Programming Interface):应用程序编程接口使用Scanner 获取键盘录入的字符串next() ; 在遇到空格的时候 会判定为当前的输入结束 空格之后的内容会收不到nextLine(); ...
    99+
    2023-05-31
    字符串 api
  • Redis字符串中BIT相关命令有哪些
    本篇文章给大家分享的是有关Redis字符串中BIT相关命令有哪些,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。上篇文章我们对STRING数据类型中一些基本的命令进行了介绍,但是...
    99+
    2023-06-19
  • redis哨兵常用命令和监控示例详解
    sentinel monitor advertise 192.168.0.5 28001 2 sentinel set advertise client-reconfig-scrip...
    99+
    2024-04-02
  • Redis源码阅读:Redis字符串SDS详解
    SDS 基本概念 简单动态字符串(Simple Dynamic String)SDS,用作Redis 的默认字符串。 C语言中的字符串:以空字符结尾的字符数组 SDS实现举例 r...
    99+
    2024-04-02
  • C++变量,常量,数组和字符串详解
    目录一、内存和寻址概述二、变量1.声明变量2.变量的作用域2.1局部变量2.2全局变量3.c++变量类型3.1、bool布尔类型3.2char字符型4.常量总结一、内存和寻址概述 可...
    99+
    2024-04-02
  • 详解Python中的字符串常识
    目录回顾一下:字符串与长字符串转义字符,比如如何在字符串中输出引号/换行?总结回顾一下:字符串与长字符串 Python非常简单,并没有专门分出一个char(Character)类型(...
    99+
    2024-04-02
  • MySQL 十大常用字符串函数详解
    大家好!我是只谈技术不剪发的 Tony 老师。 数据库函数是一种具有某种功能的模块,可以接收零个或多个输入值,并且返回一个输出值。MySQL 为我们提供了许多用于处理和分析数据的系...
    99+
    2024-04-02
  • lspci 命令详解及常用命令
    lspci命令用于显示计算机的PCI总线信息,包括PCI设备的厂商、设备ID等。常用的lspci命令参数如下:- -v:显示详细的信...
    99+
    2023-09-09
    lspci
  • Redis在PHP应用中的字符串操作详解
    Redis在PHP应用中的字符串操作详解Redis是一个高性能的NoSQL数据库,被广泛应用于Web开发中,特别是在PHP应用中。通过Redis,PHP应用可以轻松地实现字符串、列表、集合、有序集合等数据结构的操作。本文将重点介绍Redis...
    99+
    2023-05-15
    PHP redis 字符串操作
  • Swift字符串String.Index和Range详解
    在Swift中,字符串(String)是一个有序的字符集合,可以通过索引来访问、修改和操作字符串的内容。为了方便操作字符串,Swif...
    99+
    2023-09-16
    Swift
  • Swift—字符串String.Index和Range详解
    在Swift中,字符串提供了访问和操作字符串的多种方法。其中,字符串的索引和范围是两个重要的概念。1. 字符串索引(String.I...
    99+
    2023-09-17
    Swift
  • Docker基础和常用命令详解
    目录一,Docker 简介1.1,什么是 Docker1.2,Docker 与虚拟机的区别1.3,Docker 架构1.4,为什么用 Docker二,Docker 基本概念2.1,镜...
    99+
    2022-11-13
    docker基础 docker常用命令 docker使用教程
  • 解析redis hash应用场景和常用命令
    存储对象类数据 hmset user name huyongjian age 23 height 170 常用命令 将多个 field-value对设置到哈希表 key 中 h...
    99+
    2024-04-02
  • Redis中SDS简单动态字符串详解
    Redis 是内存数据库,高效使用内存对 Redis 的实现来说非常重要。 看一下,Redis 中针对字符串结构针对内存使用效率做的设计优化。 一、SDS的结构  C语言没有string类型,本质是char[...
    99+
    2023-04-12
    redis sds 介绍 redis sds原理 Redis的SDS结构
  • Redis中String字符串和sdshdr结构体超详细讲解
    目录前言sdslen讲解sdsnewlen讲解总结前言 在redis中对字符串的处理,个人觉得特别的优雅,所以特意写这篇帖子来分享一下对其的理解。 struct sdshdr { ...
    99+
    2023-05-15
    Redis String字符串 Redis sdshdr结构体
  • Python学习之字符串常用操作详解
    目录1、查找字符串2、分割字符串3、连接字符串4、替换字符串5、移除字符串的首尾字符6、转换字符串的大小写7、检测字符串(后续还会更新)1、查找字符串 除了使用index()方法在字...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作