官方文档:Redis data types tutorial | Redis

目录

strings

Lists

Sets

Sorted sets

Hashes

其他


strings

  • 基本写法 setget
> set mykey value
ok
> get mykey
"value"
  • 如果键已经存在,我可以让set失败,在最后面加nx
> set mykey newval nx
(nil)
  • 只有在键已经存在的情况下,set才会成功,在最后面加xx
> set mykey newval xx
OK
  • mset设置或mget检索多个键值
> mset a 10 b 20 c 30
OK
> mget a b c
1) "10"
2) "20"
3) "30"
  • incr、decr当你设置的值为整数,你可以对他进行增量或递减,默认递增1
> set counter 100
OK
> incr counter
(integer) 101
> incrby counter 50
(integer) 151
> decr counter
(integer) 150
> decrby counter 30
(integer) 120

Lists

  • lpush命令在列表的左侧(头部)添加一个或多个新元素
  • rpush命令在列表的右侧(尾部)添加一个或多个新元素
  • lrange命令从列表中提取元素的范围:

注意:lrange接受两个索引,返回范围的第一个和最后一个元素。两个下标都可以为负,告诉       Redis从末尾开始计数:因此-1是列表的最后一个元素,-2是列表的倒数第二个元素。如果是正,则从头部开始计数。

> rpush mylist a b c
(integer)3
> lpush mylist 1 2 3
(integer)6
> lrange mylist 0 -1
1) "3"
2) "2"
3) "1"
4) "a"
5) "b"
6) "c"
  • 弹出元素是同时从列表中检索元素和从列表中删除元素的操作。你可以从左边lpop和右边rpop弹出元素
> rpush mylist a b c
(integer) 3
> rpop mylist
"c"
> lpop mylist
"a"
> lrange mylist 0 -1
1) "b"
  • ltrim命令类似于lrange,但它不是显示指定的元素范围,而是将该范围设置为新的列表值。所有超出给定范围的元素都将被删除
> rpush mylist a b c d
(integer) 4
> ltrim mylist 0 2
OK
> lrange mylist 0 -1
1) "a"
2) "b"
3) "c"
  • brpopblpop的命令,可以在列表为空时阻塞:只有当一个新元素添加到列表中时,或者当用户指定的超时到达时,它们才会返回给调用者。

比如:tasks为空,设置阻塞5秒,且在5秒内没有给tasks列表添加新元素,结果如下

> brpop tasks 5
(nil)
(5.09s)

Sets

  • sadd添加一个或多个元素,元素具有唯一性
  • smembers查看里面所有元素
> sadd myset a b c
(integer) 3
> smembers myset
1) "a"
2) "c"
3) "b"
  • sismember 检查一个元素是否存在
> sismember myset a
(integer) 1
  • sinter执行多个集之间的交集
  • sunionstore执行多个集之间的合并
  • scard查看集合的数量
> sadd seta 1 2 3 4 5
(integer) 5
> sadd setb 3 4 5 6
(integer) 4
>sinter seta setb
1) "3"
2) "4"
3) "5"

Sorted sets

  • zadd类似于sadd,但有一个额外的参数(放在要添加的元素之前),即分数。zadd也是可变的,因此您可以自由地指定多个分数-值对
  • zrange跟lrange用法一样
  • zrevrange得到相反的顺序排列
> zadd hackers 111 "Alan key"
(integer) 1
> zadd hackers 222 "Clanude Shanon"
(integer) 1
> zadd hackers 111 "Bask si"
(integer) 1
> zrange hackers 0 -1
1) "Alan key"
2) "Bask si"
3) "Clanude Shanon"

根据score 

使用withscores参数也可以返回分数:

> zrange hackers 0 -1 withscores
1) "Alan key"
2) "111"
3) "Bask si"
4) "111"
5) "Clanude Shanon"
6) "222"
  • zrangebysore 让我们得到某个分数之前元素(zrangebysore key min max)
>zrangebyscore hackers -inf 111
1) "Alan key"
2) "Bask si"
  • zremrangebyscore 删除元素的范围,并返回删除的数量
> zremrangebyscore hackers 200 400
(integer) 1

根据lex

  • zrank可以问一个元素在有序元素集中的位置是什么,返回下标
> zrank hackers "Bask si"
(integer) 1
  • zrangebylex 获得元素的范围
  • zrevrangebylex 得到相反的顺序排列
  • zremrangebylex 删除元素的范围
  • zlexcount 获得该范围内数目
> zadd hackers 0 "Alan Kay" 0 "Sophie Wilson" 0 "Richard Stallman" 0"Anita Borg" 0 "Yukihiro Matsumoto" 0 "Hedy Lamarr" 0 "Claude Shannon"0 "Linus Torvalds" 0 "Alan Turing"> zrangebylex hackers [B [P
1) "Claude Shannon"
2) "Hedy Lamarr"
3) "Linus Torvalds"

Hashes

  • hset设置一个或多个散列字段的值
> hset user:223 username martina firstName Martina lastName Elisa country GB
(integer) 4
  • hget返回给定字段的值
> hget user:223 username
"martina"
  • hmget返回一个或多个给定字段的值
> hmget user:223 username lastName
1) "martina"
2) "Elisa"
  • hgetall 返回所有值
> hgetall user:223
1) "username"
2) "martina"
3) "firstName"
4) "Martina"
5) "lastName"
6) "Elisa"
7) "country"
8) "GB"
  • hkeys 返回所有key值
> hkeys user:223
1) "username"
2) "firstName"
3) "lastName"
4) "country"
  • hvals 返回所有的value
> hvals user:223
1) "martina"
2) "Martina"
3) "Elisa"
4) "GB"

其他

1.修改或查询key空间

exists 判断是否key存在

del 删除key

> set mykey hello
OK
> exists mykey
(integer) 1
> del mykey
(integer) 1
> exists mykey
(integer) 0

2.type 判断key的类型

> set mykey x
OK
> type mykey
string
> del mykey
(integer) 1
> type mykey
none

3.expire 设置key值得有效期(秒)

> set key some-value
OK
> expire key 5
(integer) 1
> get key (immediately)
"some-value"
> get key (after some time)
(nil)

简写

> set key some-value ex 5

ttl用来检查剩余生存时间

> ttl key
(integer) 2

keys * 查看所有key

redis常用命令总结(慎入)相关推荐

  1. 八股文之linux中redis常用命令

    全局操作 查询键 # 查询所有的键,遍历所有的键 keys * 127.0.0.1:6379> keys * "backup4" "backup3" &q ...

  2. Redis 常用命令的学习

    Redis 常用命令的学习 文章目录 Redis 常用命令的学习 1. 介绍 2. Redis 的五种数据类型以及操作命令 1. 连接 2. Redis的key的操作命令 3.字符串类型:string ...

  3. Redis常用命令集

    Redis常用命令集 1)连接操作命令 quit:关闭连接(connection) auth:简单密码认证 help cmd: 查看cmd帮助,例如:help quit 2)持久化 save:将数据同 ...

  4. Redis常用命令之操作Hash类型

    场景 Centos中Redis的下载编译与安装(超详细): https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/103967334 Re ...

  5. Redis —— 常用命令一览

    引言 参考<菜鸟教程 Redis 常用命令>,其中红色为极其重要,蓝色为重要. 一.总览 二.key相关命令 三.String 相关命令 四.Hash 相关命令 五.List 相关命令 六 ...

  6. redis常用命令:

    redis常用命令: 一 .键值相关命令: key:取出当前数据库中的所有key: keys *   //全匹配 keys  my* //模糊匹配 exists : 确认一个key是否存在,返回值1存 ...

  7. 查看redis常用命令

    Redis常用命令 一. Connection连接 ping 使用客户端向 Redis 服务器发送一个 PING ,如果服务器运作正常的话,会返回一个 PONG 案例: 测试ping quit 请求服 ...

  8. redis常用命令个人总结

    一.前言 有时会碰到些运维问题,除了需要手动修改数据库外,还需要手动修改redis. 下方总结下redis常用命令. 二.redis常用命令 1.登录redis服务器后,执行命令登录redis: re ...

  9. Redis常用命令|查询|删除|模糊操作

    Redis中有很多操作命令,今天就给大家整理一下,或许不够全面,欢迎留言沟通. redis常用命令 作用 命令 描述 查看所有key keys * 模糊匹配key keys xxx* | keys * ...

  10. [redis] Redis 常用命令

    redis 五种数据类型的使用场景 浅谈 Redis 数据库的键值设计 redis命令文档: http://doc.redisfans.com/index.html 1. redis查看当前所有的ke ...

最新文章

  1. 如何优雅地实施持续交付部署
  2. 死磕Java并发:J.U.C之AQS简介
  3. 常用注解[spring 的 java 配置] ||springboot 热部署
  4. react 调用组件方法_React源码分析1 — 组件和对象的创建(createClass,createElement)...
  5. C语言试题四十七之程序定义了N×M的二维数组,并在主函数中自动赋值。请编写函数function(int a[N][M], int m),该函数的功能是:将数组右上半三角元素中的值乘以m。
  6. Windows更新补丁下载、批量安装的几种方法
  7. java jackson 注解,java – 如何使用Jackson注释序列化此JSON?
  8. C#总结(四)调用C++动态库
  9. 【Clickhouse】mutation 操作
  10. java进程生产者消费者_生产者与消费者(多线程经典案例)
  11. php空间 数据库设计,php进阶之数据库设计/ 选择合适的表引擎
  12. RestTemplate远程接口调用
  13. java调用自身_Java有趣的自己调用自己
  14. 3DMax环境贴图无法正常显示的一种解决方法
  15. iframe透明解决方案
  16. PostgreSQL12.2_cn.chm 中文手册 最新版
  17. excel sumif 多条件
  18. 你是否错过了母校的AI本科专业?盘点2020国内本科开设人工智能专业高校
  19. 码无止境(1)——一个科研项目立项时的小程序(字典嵌套列表)
  20. CCPC 合肥站 打铁记

热门文章

  1. html5图片并排显示图片,HTML5 - 并排显示项目
  2. 不同进制之间相互转换
  3. Centos7.2/3/4/5镜像(1511,1611,1708,1804),附Centos官网镜像,旧版全镜像链接及仓库下载地址
  4. 使用AVFoundation完成照片拍摄存储相册, 开启关闭闪光灯, 切换摄像头
  5. i7 11800h参数
  6. 霍营派出所办理居住证
  7. 【JDM】弯道王子,最强马6,马自达Mazda 6 MPS
  8. 计算机显示屏显示超出屏幕大小,如果计算机提示显示器显示超出范围,该怎么办?...
  9. 【Linux】粘包问题
  10. 差分隐私——高斯机制(The Gaussian Mechanism)