redis常用命令总结(慎入)
官方文档:Redis data types tutorial | Redis
目录
strings
Lists
Sets
Sorted sets
Hashes
其他
strings
- 基本写法 set、get
> 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"
- brpop和blpop的命令,可以在列表为空时阻塞:只有当一个新元素添加到列表中时,或者当用户指定的超时到达时,它们才会返回给调用者。
比如: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常用命令总结(慎入)相关推荐
- 八股文之linux中redis常用命令
全局操作 查询键 # 查询所有的键,遍历所有的键 keys * 127.0.0.1:6379> keys * "backup4" "backup3" &q ...
- Redis 常用命令的学习
Redis 常用命令的学习 文章目录 Redis 常用命令的学习 1. 介绍 2. Redis 的五种数据类型以及操作命令 1. 连接 2. Redis的key的操作命令 3.字符串类型:string ...
- Redis常用命令集
Redis常用命令集 1)连接操作命令 quit:关闭连接(connection) auth:简单密码认证 help cmd: 查看cmd帮助,例如:help quit 2)持久化 save:将数据同 ...
- Redis常用命令之操作Hash类型
场景 Centos中Redis的下载编译与安装(超详细): https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/103967334 Re ...
- Redis —— 常用命令一览
引言 参考<菜鸟教程 Redis 常用命令>,其中红色为极其重要,蓝色为重要. 一.总览 二.key相关命令 三.String 相关命令 四.Hash 相关命令 五.List 相关命令 六 ...
- redis常用命令:
redis常用命令: 一 .键值相关命令: key:取出当前数据库中的所有key: keys * //全匹配 keys my* //模糊匹配 exists : 确认一个key是否存在,返回值1存 ...
- 查看redis常用命令
Redis常用命令 一. Connection连接 ping 使用客户端向 Redis 服务器发送一个 PING ,如果服务器运作正常的话,会返回一个 PONG 案例: 测试ping quit 请求服 ...
- redis常用命令个人总结
一.前言 有时会碰到些运维问题,除了需要手动修改数据库外,还需要手动修改redis. 下方总结下redis常用命令. 二.redis常用命令 1.登录redis服务器后,执行命令登录redis: re ...
- Redis常用命令|查询|删除|模糊操作
Redis中有很多操作命令,今天就给大家整理一下,或许不够全面,欢迎留言沟通. redis常用命令 作用 命令 描述 查看所有key keys * 模糊匹配key keys xxx* | keys * ...
- [redis] Redis 常用命令
redis 五种数据类型的使用场景 浅谈 Redis 数据库的键值设计 redis命令文档: http://doc.redisfans.com/index.html 1. redis查看当前所有的ke ...
最新文章
- 如何优雅地实施持续交付部署
- 死磕Java并发:J.U.C之AQS简介
- 常用注解[spring 的 java 配置] ||springboot 热部署
- react 调用组件方法_React源码分析1 — 组件和对象的创建(createClass,createElement)...
- C语言试题四十七之程序定义了N×M的二维数组,并在主函数中自动赋值。请编写函数function(int a[N][M], int m),该函数的功能是:将数组右上半三角元素中的值乘以m。
- Windows更新补丁下载、批量安装的几种方法
- java jackson 注解,java – 如何使用Jackson注释序列化此JSON?
- C#总结(四)调用C++动态库
- 【Clickhouse】mutation 操作
- java进程生产者消费者_生产者与消费者(多线程经典案例)
- php空间 数据库设计,php进阶之数据库设计/ 选择合适的表引擎
- RestTemplate远程接口调用
- java调用自身_Java有趣的自己调用自己
- 3DMax环境贴图无法正常显示的一种解决方法
- iframe透明解决方案
- PostgreSQL12.2_cn.chm 中文手册 最新版
- excel sumif 多条件
- 你是否错过了母校的AI本科专业?盘点2020国内本科开设人工智能专业高校
- 码无止境(1)——一个科研项目立项时的小程序(字典嵌套列表)
- CCPC 合肥站 打铁记
热门文章
- html5图片并排显示图片,HTML5 - 并排显示项目
- 不同进制之间相互转换
- Centos7.2/3/4/5镜像(1511,1611,1708,1804),附Centos官网镜像,旧版全镜像链接及仓库下载地址
- 使用AVFoundation完成照片拍摄存储相册, 开启关闭闪光灯, 切换摄像头
- i7 11800h参数
- 霍营派出所办理居住证
- 【JDM】弯道王子,最强马6,马自达Mazda 6 MPS
- 计算机显示屏显示超出屏幕大小,如果计算机提示显示器显示超出范围,该怎么办?...
- 【Linux】粘包问题
- 差分隐私——高斯机制(The Gaussian Mechanism)