导航:首页 > 程序命令 > redis操作命令大全

redis操作命令大全

发布时间:2025-02-06 05:31:16

❶ Redis命令详解:Keys

Redis命令详解:Keys


介绍完Redis连接相关命令后,我们接下来将重点介绍与Key相关的命令。Redis作为一款key-value数据库,对Key的操作是不可或缺的。接下来,我们将逐一解析与Key操作相关的Redis命令。


DEL:最早可用版本为1.0.0。用于删除指定的键值对。若指定的key不存在,则忽略。命令时间复杂度为O(N)。对于除字符串外的其他数据类型,命令的时间复杂度为O(M),M为值的元素个数。在生产环境中,应避免一次性删除过多复杂数据类型的操作。


DUMP:最早可用版本为2.6.0。用于以Redis格式序列化指定键存储的值,可用RESTORE命令将序列化值反序列化。序列化格式有以下3个特点:不包含过期时间信息,使用PTTL命令获取存活时间;访问时间复杂度为O(1),序列化值时间复杂度为O(N*M),N为组成值的元素数量,M为元素平均大小;序列化较短字符串时,时间复杂度可看做O(1)。


EXISTS:最早可用版本为1.0.0。用于判断key是否存在。自3.0.3版本后,支持多参数,即一次性判断多个key,返回存在的key数量。单个key存在的判断返回1或0,向后兼容。注意,参数中有重复存在命令时,返回结果不进行去重。


EXPIRE:最早可用版本为1.0.0。用于为指定的key设置存活时间。存活时间会被DEL、SET、GETSET和所有STORE命令删除或覆盖。修改key值而不修改存活时间或保存到新key中,key的存活时间保持不变。使用RENAME重命名key时,原有key的存活时间会赋给新key。使用PERSIST命令清除存活时间,将key变为永久。如果设置存活时间非正数或过期时间,则key直接被删除。再次设置存活时间更新key的存活时间,在应用中常见。


关于时间精度,Redis2.1.3版本之前修改带有存活时间的key值时,会删除整个key;2.4版本后,过期时间在key过期一秒内仍可访问,2.6版本精确到1毫秒。存活时间保存为Unix时间戳,要求计算机时间可靠,加载RDB文件到另一台机器时,时间差距可能导致key被删除或存活时间延长。


Redis过期策略有两种:被动过期和主动过期。被动过期在客户端访问时检查key的存活时间,可能无法及时发现长时间未访问的过期key。Redis定期随机检查被设置过存活时间的key,过期后及时清理。每秒执行10次检查操作。


EXPIREAT:最早可用版本为1.2.0。作用与EXPIRE相同,参数需要传Unix时间戳。


KEYS:最早可用版本为1.0.0。返回匹配所有key的命令,时间复杂度为O(N)。在官方文档中建议避免在生产环境中使用,尤其是不要使用KEYS *命令,以免导致生产环境长时间不可用。推荐使用SCAN或sets命令查找key。


匹配策略介绍:?匹配单个字符,*匹配任意数量字符,[ae]匹配a或e,^e不匹配e,a-c匹配a、b、c,特殊符号使用隔开。


MIGRATE:最早可用版本为2.6.0。将源实例的key以原子操作传输到目标实例,删除源实例key。相当于执行DUMP+DEL操作在目标实例执行RESTORE操作。此操作会阻塞源实例和目标实例,直到传输完成。3.2版本后支持一次性传输多个key。


执行MIGRATE命令时需设置超时时间,超时未完成抛出IOERR。两个实例状态可能两种:均存在指定key或仅源实例存在,key不会丢失。3.0.6版本后支持一次传输多个key,使用KEYS参数,源key参数设置为空字符串。COPY参数传输后不删除源实例key,REPLACE参数替换目标实例已存在的key。这两个参数自3.0版本开始可用。


MOVE:最早可用版本为1.0.0。将当前数据库key移动到指定数据库。如果目标数据库已存在key或当前数据库不存在key,命令不做任何操作。


OBJECT:最早可用版本为2.2.3。用于查看Redis对象内部信息,调试时常用。具体用法如下:查看对象编码格式。


PERSIST:最早可用版本为2.2.0。删除指定key的过期时间,使之变为永久key。


PEXPIRE:最早可用版本为2.6.0。与EXPIRE作用相同,参数时间单位为毫秒。


PEXPIREAT:最早可用版本为2.6.0。与EXPIREAT作用相同,参数同样是毫秒。


PTTL:最早可用版本为2.6.0。返回指定key剩余存活时间的毫秒数。3.0版本后,key不存在返回-2,永久key返回-1。


RANDOMKEY:最早可用版本为1.0.0。从当前数据库返回一个随机key。


RENAME:最早可用版本为1.0.0。重命名key。若key不存在,返回错误。新key已存在时,覆盖原key(隐式执行DEL命令,操作延时较高)。3.2版本前,源key和目标key相同会报错。


RENAMENX:若新key不存在,则重命名key;新key已存在返回0;成功返回1。


RESTORE:最早可用版本为2.6.0。使用RESTORE key ttl serialized-value [REPLACE]命令将序列化值反序列化存储到key,ttl为0则key永久存在。3.0版本后,未使用REPLACE参数且key已存在时返回错误“Target key name is busy”。


SCAN:最早可用版本为2.8.0。使用SCAN cursor MATCH pattern COUNT count命令,返回小部分数据,不会阻塞Redis。基于游标操作,每次调用返回游标用于下一次迭代。游标返回0表示迭代结束。


每次返回数量不固定,可能为空。SCAN命令支持匹配。


测试存储10000个key:


返回结果表明,虽然设置count为1000,但每次返回的值只有10个左右。


SORT:最早可用版本为1.0.0。用于返回或保存list、set和sorted set的键,默认对数字或排序key排序,视为双精度浮点数。按字典顺序排序使用ALPHA参数;按外部字段排序使用BY参数。


TOUCH:最早可用版本为3.2.1。修改key最后访问时间,key不存在忽略。


TTL:最早可用版本为1.0.0。返回指定key的剩余存活时间,单位为秒。2.6版本及以前,key不存在或永久key返回-1。从2.8版本开始,key不存在返回-2,永久key返回-1。


TYPE:最早可用版本为1.0.0。返回key存储值的类型。


UNLINK:最早可用版本为4.0.0。删除key,时间复杂度O(1),先从keyspace中删除key,指定key已删除,内存未释放。在另一个线程中执行内存释放操作,时间复杂度O(N)。


WAIT:最早可用版本为3.0.0。阻塞客户端,直至所有写操作完成并保存指定数量副本。总会返回副本数量或超时。

❷ Redis启动、停止、Redis命令行的操作

1.redis命令

1 redis执行了make install后,redis的课执行文件都会自动复制到 /usr/local/bin 目录

2 redis-server redis服务器

3 redis-cli redis命令行客户端

4 redis-benchmark redis性能测试工具

5 redis-check-aof aof文件修复工具6redis-check-mp rdb文件检查工具

2.停止 redis 命令 

# 停止Redis命令

redis-cli shutdown

3.启动 redis 命令

(1). # 启动 redis-server

redis-server

(2). # 带配置文件启动

(3). # 带配置文件启动 且指定某几个配置 配置名称前加 -- 

 会覆盖配置文件里面的值

回到顶部

4.redis命令行客户端

(1).发送命令

注意:框里面的是 6379 里面没有登录成功,下面改成了 1123 成功了,因为刚才上面改了端口

(2).命令返回值

状态回复:pong表示可用

错误回复:不知道这个什么命令

整数回复:多种命令会回复整数

下面的字符串回复,都是赋值了才有。

字符串回复:

多行字符串回复:

❸ redis常用命令是什么

1、连接操作相关命令:



quit:关闭连接(connection)。
auth:简单密码认证。
2、value操作命令:

exists(key):确认key否存。
del(key):删除key。

type(key):返值类型。



使用的注意事项

1、 Redis和Memcache都是将数据存放在内存中,都是内存数据库。不过memcache还可用于缓存其他东西,例如图片、视频等等。

2、Redis不仅仅支持简单的k/v类型的数据,同时还提供list,set,hash等数据结构的存储。

3、虚拟内存–Redis当物理内存用完时,可以将一些很久没用到的value 交换到磁盘 。

4、过期策略–memcache在set时就指定,例如set key1 0 0 8,即永不过期。Redis可以通过例如expire 设定,例如expire name 10 。




阅读全文

与redis操作命令大全相关的资料

热点内容
上汽荣威app在哪里查询 浏览:899
冰柜压缩机温度108 浏览:718
阿里云邮smtp服务器地址 浏览:250
解压馆认知理解 浏览:239
为什么使用非官方服务器会封号 浏览:9
佛山加密文档软件 浏览:813
港式5张梭哈源码 浏览:241
数据中心pdf 浏览:524
crf源码解析 浏览:853
服务器软件开发是什么意思 浏览:941
删除彩信android 浏览:862
元宵节猜灯谜h5源码 浏览:69
乐培生app怎么绑定 浏览:762
视频压缩不清楚怎么说 浏览:525
加好友服务器繁忙是怎么回事 浏览:381
怎么解绑app的支付宝账号 浏览:913
ip地址服务器不可用怎么解决方法 浏览:185
为什么软件需要服务器 浏览:64
redis操作命令大全 浏览:598
python字符串重复索引 浏览:964