Redis常用基本命令总结(查询版)

按键CTRL + F全文搜索可快速查找到相关命令。

常用管理命令

1、启动Redis服务端

 > ./redis-server [--port 7000]  # 6379是Redis默认端口号。

如果命令参数过多,建议通过配置文件来启动Redis。

 > ./redis-server [xx/xx/redis.conf]

2、连接Redis客户端

 > ./redis-cli [-h 127.0.0.1 -p 6379]
 
 > ./redis-cli [-h localhost -p 6379 -a 123] # 6379是Redis默认端口号。

3、停止Redis服务端

 > redis-cli shutdown
 
 > kill redis-pid

以上两条停止Redis命令效果一样。

4、发送命令

给Redis发送命令有两种方式:

1、redis-cli带参数运行,如:

 > redis-cli shutdown
 not connected> 

这样默认是发送到本地的6379端口。

2、redis-cli不带参数运行,如:

 > ./redis-cli
 
 127.0.0.1:6379> shutdown
 not connected> 

5、测试连通性

 127.0.0.1:6379> ping
 PONG

常用基础命令

1.【set key value [EX seconds] [PX milliseconds] [NX|XX]】 存入一个key和值。如:set myname YJS

nx:如果key不存在则建立,xx:如果key存在则修改其值,也可以直接使用setnx/setex命令。

2.【get key】 读取一个key的值。

3.【del key 】 删除一个key。

4.【del key1 key2 ... keyN 】 删除多个key。如:del myname1 myname2

可以删除多个,返回删除成功的个数。

5.【exists key】 判断一个key是否存在。查询查询多个,返回存在的个数。

6.【type key 】 查看key的类型。

7.【rename key keyNew】 重命名key名。如:rename myname myname2

8.【dbsize】 查看当前库中的key的条数。获取键总数时不会遍历所有的键,直接获取内部变量,时间复杂度O(1)。

9.【expire key time】 指定key的过期时间,单位为秒。如:expire myname 9(设置9秒后过期)

毫秒语法:pexpire key milliseconds

设置永不过期:persist key

10.【ttl key】 查看redis有多长时间过期,单位为秒。

毫秒语法:pttl key

-1:永远不过期。-2:key值不存在。

11.【 keys * 】 列出当前库中所有的key名。

12.【keys a* 】 列出当前库中所有以字符串“a"开头的key。

*表示通配符,表示任意字符,会遍历所有键显示所有的键列表,时间复杂度O(n),在生产环境不建议使用。

13.【select db-index】 选择一个数据库,如选择第一个数据库:select 0;选择第二个 select 1;默认有16个数据库,这个值可以在redis.conf中配置。

14.【flushdb】 清掉当前库中所有的key(生产环境下需谨慎操作)。

15.【flushall】 清掉所有库中全部的key(生产环境下需谨慎操作)。

16.【mset key1 value1 key2 value2 ... keyN valueN】 一次性存入多个key和值。

17.【mget key1 key2 ... keyN】 一次性读取多个key。

18.【incr key】 可以对key类型+1的操作(相当于编程语言里面的++),只能操作number型,操作字符串会报错。可对新值进行操作。

19.【decr key】 可以对key类型-1的操作(相当于编程语言里面的--),只能操作number型,操作字符串会报错。

20.【incrby key num】 同incr,对key的值加num,比如 incrby aa 10,对aa+10。

21.【decrby key num】 同上,对key的值减num。

22.【append key value】 对指定key的字符串进行追加,向键值尾部添加,如果key为整形,会被转为字符串。如aa的值为9,执行append aa 10后,会变成910。

23.【substr key start end】 对key进行截取start到end个字符。如aa的值为:abcdef,执行substr aa 23后,返回“cd”。

获取值长度:strlen key

获取部分字符:getrange key start end

链表类型命令

24.【 lpush key value 】 往队列头部插入一个元素

25.【 rpush key value 】 从尾部插入一个元素

26.【 lpop key 】 从队列头部删掉一个元素

27.【 rpop key 】 从队列尾部删掉一个元素,并返回被删除元素的值

28.【 llen 】 返回队列的长度,即里面有多少个元素。不存在key返回0,不为队列类型的key会返回报错。

29.【 lrange key start end 】 返回队列从start到end之间的元素信息。

30.【 ltrim key start end 】 截取一个队列,只保留指定区间内的元素。

索引存值语法:lset key index value

索引获取语法:lindex key index

无序集合命令

31.【 sadd key vaule 】 往集合中插入一个元素,如果value值已存在集合中,则返回0,不会被重复插入。

32.【 sinter key1 key2 ... keyN 】 取出n个key之间的交集。比如 key1里面有值a,b,c,d,e,key2里面有d,e,f,sinter key1 key2返回d,e。

33.【 sunion key1 key2 ... keyN 】 取出n个key之间的并集。比如 key1里面有值a,b,c,d,e,key2里面有d,e,f,sunion key1 key2返回a,b,c,d,e,f。

34.【 sdiff key1 key2 】 取出n个key之间的差集。比如 key1里面有值a,b,c,d,e,key2里面有d,e,f,sdiff key1 key2返回a,b,c;反过来sdiff key2 key1返回f。

35.【 smembers key 】 返回key集合中所有的元素,结果是无序的。

36.【 sismember key value 】 查看value这个值是否在key集合中。存在返回1,不存在返回0。

37.【 scard key 】 返回集合中有多少个元素。

38.【 smove key1 key2 value 】 把value从key1中移到key2中去。

39.【srem key value1 value2 ... valueN】 从key集合中删掉某些元素。

有序集合命令

40.【zadd key v k 】 往key中添加一个元素,k为键,v为值。如:zadd artHits 99 12表示id为12的文章点击量为99次。

41.【 zrange key start end 】 根据v的值由小到大进行排序来获得start到end之间的元素。

注:0表示第一个元素,-1表示最后一个元素,-2表示倒数第二个元素,以此类推,如果要获取第一个到倒数第三个之间的元素,命令为:zrange key 0 -3。

42.【 zrevrange key start end 】 同上,根据v的值由大到小进行排序来获得start到end之间的元素。可以轻松取出点击量最高的前n篇文章。

43.【 zremrangebyrank key start end 】 删除集合中的元素。排序的方式为按照v由小到大的顺序,如果要删除key集合中的第一个值,则运行 zremrangebyrank artHits 0 0;删除前3个值:zremrangebyrank artHits 0 2。

44.【 zcard 】 返回key集合中元素的个数。

45.【 zrank key k 】 返回值k在集合key中排第几位,是按照v由小到大的顺序。排第一名返回0,第二返回1,以此类推。

46.【 zrevrank key k 】 同上,不同的是,按照v由大到小的顺序。可以轻松取出点击量最高的文章。

47.【 zscore key k 】 取出集合key中键为k对应的值v。

48.【 zrem key k 】 删除集合中指定元素。

49.【 zincrby key num k 】 给集合key中的元素k加上num,值针对整型。比如 zincrby artHits 3 12,给id为12的文章加上3个点击量。此时zscore artHits 12的结果是99+3为102。

获取指定范围分数个数:zcount key min max

哈希类型命令

50.【 hset key field value 】 设置hash field为指定值,如果key不存在,则先创建。

51.【hmset key field1 value1 ... fieldN valueN】 同时设置多个值。

52.【hget key field】 获取指定的hash field

53.【hmget key field1 field1 ... fieldN】 获取指定的多个hash field

54.【hincrby key field num】 将指定的hash field加上指定的值。

55.【hexists key field】 查看指定field是否存在。

56.【hdel key field】 删除指定的hash field。

57.【hlen key】 返回指定hash中field的数量。

58.【hkeys key】 返回hash所有的field。

59.【hvals】 返回hash中所有的value。

60.【hgetall key】 返回hash中所有的field和value。

微信关注

                   编程那点事儿

本站为非盈利性站点,所有资源、文章等仅供学习参考,并不贩卖软件且不存在任何商业目的及用途,如果您访问和下载某文件,表示您同意只将此文件用于参考、学习而非其他用途。
本站所发布的一切软件资源、文章内容、页面内容可能整理来自于互联网,在此郑重声明本站仅限用于学习和研究目的;并告知用户不得将上述内容用于商业或者非法用途,否则一切后果请用户自负。
如果本站相关内容有侵犯到您的合法权益,请仔细阅读本站公布的投诉指引页相关内容联系我,依法依规进行处理!
作者:理想
链接:https://www.imyjs.cn/archives/1111
THE END
二维码
Redis常用基本命令总结(查询版)
按键CTRL + F全文搜索可快速查找到相关命令。 常用……
<<上一篇
下一篇>>
文章目录
关闭
目 录