redis-cli -h
其中,< host>是Redis服务器的主机名或IP地址,< port>是Redis服务器的端口号,< password>是Redis服务器的密码(如果有的话)。
set
# 设置字符串 get
# 获取字符串 del
#删除字符串
Redis支持多种数据类型,包括字符串、哈希、列表、集合和有序集合。
1.字符串
set
# 设置字符串
get# 获取字符串
append# 追加字符串
incr# 将键值加1
decr# 将键值减1
2.哈希
哈希是一种键值对集合,其中每个键都对应一个值。
hset
# 设置哈希字段 这里的 是哈希表的键名,
是要设置的字段名,
是字段对应的值,当你设置多值得时候key,field,value要不一样,不然的话可能被替换咯
hget# 获取哈希字段
hgetall# 获取哈希所有字段和值
hkeys# 获取哈希所有字段
hvals# 获取哈希所有值
hdel# 删除哈希字段
3.列表
列表是一种有序的字符串集合,可以在列表的两端进行插入和删除操作。以下是列表的命令行命令:lpush
# 在列表左端插入元素 ,这里的 是列表的键名,
是要插入的值。
rpush# 在列表右端插入元素
lpop# 删除列表左端元素
rpop# 删除列表右端元素
lrange# 获取列表指定范围的元素
- 使用 LRANGE <key> <start> <stop> 命令来获取列表中指定范围的元素。
- LRANGE mylist 0 -1
- 这里的 <key> 是列表的键名,<start> 是起始索引,<stop> 是结束索引。索引从 0 开始,如果 <start> 和 <stop> 都为 -1,表示获取列表的所有元素
4.集合
集合是一种无序的字符串集合,可以进行交集、并集和差集等操作。sadd
# 添加集合元素
srem# 删除集合元素
smembers# 获取集合所有元素
sinter# 获取集合交集
sunion# 获取集合并集
sdiff# 获取集合差集
- SADD set1 "member1"
- SADD set1 "member2"
- SADD set2 "member2"
- SADD set2 "member3"
- SMEMBERS set1
- SINTER set1 set2
- SUNION set1 set2
- SDIFF set1 set2
首先使用 SADD
命令向集合 set1
中添加了两个成员 "member1"
和 "member2"
,向集合 set2
中添加了成员 "member2"
和 "member3"
。然后分别使用 SMEMBERS set1
、SINTER set1 set2
、SUNION set1 set2
和 SDIFF set1 set2
命令来获取集合的所有成员、集合 set1
和 set2
的交集、并集以及差集。
5.有序集合
有序集合是一种有序的字符串集合,每个元素都有一个分数,可以进行按分数排序、范围查询等操作。以下是有序集合的命令行命令:
ADD
向有序集合中添加一个成员,并指定其分数。
ZADD mysortedset 10 "member1"
ZADD mysortedset 20 "member2"ZREM
从有序集合中移除指定成员。
ZREM mysortedset "member1"ZRANGE
按索引范围获取有序集合中的成员。
ZRANGE mysortedset 0 -1
ZRANGE mysortedset 0 1 # 获取前两个成员ZREVRANGE
按分数倒序获取有序集合中的成员。
ZREVRANGE mysortedset 0 -1
ZREVRANGE mysortedset 0 1 # 按分数倒序获取前两个成员ZRANGEBYSCORE
按分数范围获取有序集合中的成员。
ZRANGEBYSCORE mysortedset 0 20
三、事务处理
Redis支持事务处理,可以将多个命令打包成一个事务,然后一次性执行。以下是事务处理的命令行命令:
multi # 开始事务
exec # 执行事务
discard # 取消事务
watch# 监视键
unwatch # 取消监视
使用 MULTI 命令开始一个事务,在 MULTI 和 EXEC 之间插入要执行的命令;使用 EXEC 命令提交事务,Redis 将按照顺序执行事务中的所有命令。如果事务中有命令执行失败,那么事务的所有命令都将不会被执行;使用 DISCARD 命令取消事务,这会清除事务队列中的所有命令,并退出事务状态。
使用 WATCH 命令监视一个或多个键,在事务执行之前,如果这些键被其他客户端修改,则事务会被取消;取消监视(Unwatch)
取消对所有键的监视,不再关心键的变化。
四、发布订阅
Redis 发布订阅(pub/sub)是一种消息通信模式:发送者(pub)发送消息,订阅者(sub)接收消息。
Redis支持发布订阅模式,可以将多个客户端连接到同一个频道,然后将消息发布到频道中,所有订阅该频道的客户端都能收到消息。Redis的发布和订阅最大的缺点是消息不能持久化!也就是我们通过Redis发送的消息,压根在Redis当中根本没有存。
以下是发布订阅的命令行命令:
subscribe
unsubscribe
订阅端:
127.0.0.1:6379> ping
PONG
127.0.0.1:6379> SUBSCRIBE dingdada #订阅名字为 dingdada 的频道
Reading messages... (press Ctrl-C to quit)
1) "subscribe"
2) "dingdada"
3) (integer) 1
#等待推送的信息
1) "message" #消息
2) "dingdada" #来自哪个频道的消息
3) "hello world\xef\xbc\x81" # 消息的具体内容
1) "message"
2) "dingdada"
3) "my name is dyj\x81"
发送端:
127.0.0.1:6379> ping
PONG
127.0.0.1:6379> PUBLISH dingdada "hello world!" #发送消息到dingdada 频道
(integer) 1
127.0.0.1:6379> PUBLISH dingdada "my name is dyj" #发送消息到dingdada 频道
(integer) 1