redis学习笔记3: redis常用命令
在此处输入redis命令
字符串操作命令
-
set key value 设置指定key的值(类似于put)
-
get key 获取指定key的值
-
setex key seconds value 设置带有过期时间的key
-
setnx key value 当key不存在时创建
SET key value
设置指定key的值
- 插入数据
SET name jack
GET key
获取指定key的值
- 查询数据
GET name
查询不存在的key
GET abc
SETEX key seconds value
set expire, 设置指定key的值, 并将key的过期时间设置为second秒
- 过期自动被清理, 短信验证码
SETEX code 30 1234
可以使用TTL key查询过期时间
TTL code
SETNX key value
set not exist, 只有在key不存在时设置key的值
- 分布式锁
SETNX name handsomecat
SETNX name2 handsomecat
![fc7af9e1-d36b-4925-ad74-c76c1ec70840](file:///C:/Users/hikari39/Pictures/Typedown/fc7af9e1-d36b-4925-ad74-c76c1ec70840.png)
只有未存在的name2被赋值
![e5e21069-39cb-462d-bf80-a3f52b101797](file:///C:/Users/hikari39/Pictures/Typedown/e5e21069-39cb-462d-bf80-a3f52b101797.png)
哈希操作命令
-
hset key field value 设置指定key field字段的值
-
hget key field 获取指定key field字段的值
-
hdel key field 删除指定key的field字段
-
hkeys key 查找当前key的所有field
-
hvals key 查找当前key的所有value
Redis hash是一个string类型的field和value的映射表, hash特别适合用于存储对象
HSET key field value
将哈希表key中的字段field的值设为value
key类似于对象的地址, name是对象的属性, xiaoming是属性的值
HSET 100 name xiaoming
HSET 100 age 20
类似的, 也有hsetEX和hsetNX的方法
HGET key field
获取存储在哈希表中指定字段field的值
HGET 100 name
HGET 100 age
hgetALL key, 可以获取所有属性值, 类似于对象的toString (?)
hgetALL 100
HDEL key field
删除存在在哈希表中的指定字段filed
HDEL 100 name
HKEYS key
获取哈希表中的所有字段
![6c5d5a24-6844-4ba5-a42b-b8a855049e2f](file:///C:/Users/hikari39/Pictures/Typedown/6c5d5a24-6844-4ba5-a42b-b8a855049e2f.png)
HVALS key
获取哈希表中所有的值
![41266ed7-062c-4eee-ad56-273d3bcc886b](file:///C:/Users/hikari39/Pictures/Typedown/41266ed7-062c-4eee-ad56-273d3bcc886b.png)
列表操作命令
Redis列表是简单的字符串列表, 按照插入顺序排序
双向栈, 支持lpush, lpop, rpush, rpop
LPUSH key value1 [value2]
left push, 将一个或多个值插入到列表头部 (头插法->入队)[先进的元素在队尾, 先进先出]
失败
LPUSH 100 d c b a
![71e0df19-8e66-4931-baa6-10a9c9ef5b8a](file:///C:/Users/hikari39/Pictures/Typedown/71e0df19-8e66-4931-baa6-10a9c9ef5b8a.png)
成功, 并返回了操作记录数
LPUSH mylist d c b a
![48eca124-a4c3-4b23-aa8b-bf70122b6214](file:///C:/Users/hikari39/Pictures/Typedown/48eca124-a4c3-4b23-aa8b-bf70122b6214.png)
LRANGE key start stop
left range 获取列表指定范围内的元素
从头部到尾部查询
LRANGE mylist 0 -1
![97272e12-3585-4ad7-8b8a-99261e0fcba3](file:///C:/Users/hikari39/Pictures/Typedown/97272e12-3585-4ad7-8b8a-99261e0fcba3.png)
RPOP key
right pop 移除并获取列表最后一个元素(出队)
删除并返回了第一个进入的元素d
Rpop mylist
![a85b881a-6e5c-42ee-9ac7-3bd38741c820](file:///C:/Users/hikari39/Pictures/Typedown/a85b881a-6e5c-42ee-9ac7-3bd38741c820.png)
LLEN key
list length 获取列表长度
LLEN mylist
![df85caf8-f51e-41a3-a039-129ae8455609](file:///C:/Users/hikari39/Pictures/Typedown/df85caf8-f51e-41a3-a039-129ae8455609.png)
集合操作命令
Redis set是string类型的无序集合, 集合成员是唯一的, 集合中不能出现重复数据
SADD key member1 [member2]
向集合中添加一个或多个成员
返回插入集合的成员数, 插入重复成员时不能成功
SADD myset a b c d
SADD myset a
![1bfd2c6d-16ff-4617-8a49-7ea26944bc8c](file:///C:/Users/hikari39/Pictures/Typedown/1bfd2c6d-16ff-4617-8a49-7ea26944bc8c.png)
元素是无序的
![1982bdbe-2f0e-48c8-993c-d6f34e43ccb3](file:///C:/Users/hikari39/Pictures/Typedown/1982bdbe-2f0e-48c8-993c-d6f34e43ccb3.png)
SMEMBERS key
返回集合中的所有成员
SMEMBERS myset
SCARD key
获取集合的成员数
SINTER key1 [key2]
返回给定集合的交集
myset2
![db7acafb-6b11-455f-b211-7a0c19bd0cfd](file:///C:/Users/hikari39/Pictures/Typedown/db7acafb-6b11-455f-b211-7a0c19bd0cfd.png)
SINTER myset myset2
![ac8d316a-2bf8-49b6-bb04-3ee019e11f30](file:///C:/Users/hikari39/Pictures/Typedown/ac8d316a-2bf8-49b6-bb04-3ee019e11f30.png)
SUNION key1 [key2]
返回给定集合的并集
myset3
![b0116ba1-4da8-4913-ba65-a6f7fea83942](file:///C:/Users/hikari39/Pictures/Typedown/b0116ba1-4da8-4913-ba65-a6f7fea83942.png)
SUNION myset myset3
![9c1b7af2-00d0-4020-9bdd-fde59d35803a](file:///C:/Users/hikari39/Pictures/Typedown/9c1b7af2-00d0-4020-9bdd-fde59d35803a.png)
SREM key member1 [member2]
删除集合中的一个或多个成员
SREM a b c d
![f1b348cf-cf1c-4920-a045-59b88b7112ec](file:///C:/Users/hikari39/Pictures/Typedown/f1b348cf-cf1c-4920-a045-59b88b7112ec.png)
![40c6ad07-b50b-4b95-b1c1-d50e474db0ef](file:///C:/Users/hikari39/Pictures/Typedown/40c6ad07-b50b-4b95-b1c1-d50e474db0ef.png)
有序集合操作命令
Redis有序集合是string类型元素的集合, 不允许有重复成员, 每个元素都会关联一个double类型的分数
ZADD key score1 member1 [scores2 member2]
向有序集合添加一个或多个成员
ZADD zset1 10.0 a 10.5 b
![44e52a11-cf4b-4055-a629-6aac659f797d](file:///C:/Users/hikari39/Pictures/Typedown/44e52a11-cf4b-4055-a629-6aac659f797d.png)
ZADD zset1 1 c 2 d
![6b125a4f-03d8-4105-9031-3a8da7319d20](file:///C:/Users/hikari39/Pictures/Typedown/6b125a4f-03d8-4105-9031-3a8da7319d20.png)
ZRANGE key start stop [WITHSCORES]
通过索引区间返回有序集合中指定区间内的成员
ZRANGE zset1 0 -1
![9eaa91de-65f7-4aa6-b9b3-fe84bce7e6f4](file:///C:/Users/hikari39/Pictures/Typedown/9eaa91de-65f7-4aa6-b9b3-fe84bce7e6f4.png)
可能精度丢失, 默认升序排列
ZRANGE zset1 0 -1 WITHSCORES
![56930340-1a58-4cb0-a811-04aa624e0d9f](file:///C:/Users/hikari39/Pictures/Typedown/56930340-1a58-4cb0-a811-04aa624e0d9f.png)
ZINCRBY key increment member
有序集合中对指定成员的分数加上增量increment
ZINCRBY zset1 10 c
ZREM key member [member...]
移除有序集合中的一个或多个成员
ZREM zset1 a b c
通用命令
不分数据类型, 都可以使用的命令
KEYS pattern
查找所有符合给定模式(pattern)的key
返回所有的key
keys *
![4992f103-bccf-4b25-a6c5-408e256e52f1](file:///C:/Users/hikari39/Pictures/Typedown/4992f103-bccf-4b25-a6c5-408e256e52f1.png)
返回以2结尾的key
keys *2
![26838935-8090-4317-8701-4e5aed896faf](file:///C:/Users/hikari39/Pictures/Typedown/26838935-8090-4317-8701-4e5aed896faf.png)
返回以z开头的key
keys z*
![6ed56c1e-637d-4b57-8c14-ca9fd4f208f7](file:///C:/Users/hikari39/Pictures/Typedown/6ed56c1e-637d-4b57-8c14-ca9fd4f208f7.png)
EXISTS key
检查key是否存在
查询存在的key100和不存在的key10000
EXISTS 100
EXISTS 10000
TYPE key
返回key所存储的值的类型
TYPE 100
TYPE zset1
DEL key
在key存在时删除key
DEL mylist
可以一次删除多个
DEL myset1 myset2 myset3
标签:Typedown,Users,Pictures,redis,笔记,hikari39,key,常用命令,png
From: https://www.cnblogs.com/HIK4RU44/p/18190715