Redis系列03-命令

1、数据库级操作

select 1				# 切换数据库
flushdb					# 清空当前数据库
flushall				# 清空所有数据库

2、获取类型操作

type num				# 获取指定key的数据类型
object encoding num		# 获取指定key的编码类型

3、String类型操作

set name 123			# 新增/更新value(重新赋值)
get name				# 取值
keys n*					# 获取以n开头的所有key
keys *					# 获取所有key,注意:当数据量大时,可能造成长时间阻塞。因为redis请求是单线程
dbsize 					# 统计当前数据库中key的数量
getrange name 0 1		# 获取key索引下标0-1的字符
strlen name				# 统计字符串长度
append name NB			# 向指定key的value追加字符串
exists name				# 判断key是否存在,若存在返回1,否则返回0
setnx name pch			# set if not exists 若不存在,则set值,否则不做任何操作
set k1 v1 ex 10 nx		# 10s内不允许操作(再次赋值时,需格式一致;否则redis理解为创建一个新key)
mset age 18 hobby read	# 批量set值
mget name age hobby		# 批量get值
incr age				# 对int类型的value加1,若类型不符合,提示错误(若key不存在,则创建为1-int)
incrby age 10			# 对int类型的value加指定值
decr age				# 对int类型的value减1,若类型不符合,提示错误
decrby age 10			# 对int类型的value减指定值
incrbyfloat num 10		# 对float类型的value加指定值,若类型不符合,提示错误
incrbyfloat num -10		# 对float类型的value减指定值
rename name names		# 修改key的名称
del names				# 删除key

4、Hash类型操作

hset student:1 name 张三 age 18 address 北京		  #设置多个值(hmset)
hget student:1 name									#获取指定key、指定filed的value
hmget student:1 name age address					#获取指定key、多个filed的value
hkeys student:1										#获取指定key所有的filed名称
hvals student:1										#获取指定key所有的filed的value
hgetall student:1									#获取指定key所有的filed名称及value
hdel student:1 address								#删除指定key、指定filed
hlen student:1										#获取指定key中的键值对数量

del student:1										#删除指定key(包含其中所有的filed)

5、List类型操作

【存值/入栈(队)】
lpush k1 a 								#从列表左端存值
lpush k1 b c d e						#从列表左端依次存值
rpush k1 f								#从列表右端存值 
rpush k1 g h							#从列表右端依次存值

【取值】
lrange k1 0 4							#范围取值(索引0-4的值:"e" "d" "c" "b" "a")
lrange k1 0 -1							#取列表所有值("e" "d" "c" "b" "a" "f" "g" "h")

【删除/出栈(队)】
a、左出栈
lpop k1
lrange k1 0 -1							#出栈后,剩余列表为("d" "c" "b" "a" "f" "g" "h")
b、右出栈	
rpop k1
lrange k1 0 -1							#出栈后,剩余列表为("d" "c" "b" "a" "f" "g")
c、阻塞左出栈
blpop k1 5								#左出栈,若无值,则阻塞5秒,5秒后仍然无值,则返回nil。
d、阻塞右出栈
brpop k1 5								#同上(b——block 阻止;阻塞);正常每次可以取到1个值

6、Set类型操作

【单集合命令】
sadd uid 1 2 3 4 5						#向集合中添加一个或多个成员
smembers uid							#获取指定集合的所有成员
scard uid								#获取指定集合的成员数量
srandmember uid 3						#随机获取指定集合指定个数的成员
spop uid 1								#随机弹出指定集合指定个数的成员
srem uid 2 3							#从指定集合中移除指定成员
sismember uid 1							#判断指定集合的指定成员是否存在


sadd k1 a b c 
sadd k2 a b d e f
【集合之间命令:对上面两个集合进行差集、交集、并集】
#1、差集
sdiff k1 k2								#第一个集合与其他集合之间的差异:"c"
sdiff k2 k1								#结果集来自第一个集合:"f"、"d"、"e"

#2、交集
sinter k1 k2							#两个集合相同的元素

#3、并集
sunion k1 k2							#去除相同元素后,结果集元素为两个集合的合

7、Zset类型操作

【增】
zadd top 100 java 20 php 30 python 50 c++				#向有序集合添加多个元素
zadd top 40 c											#向有序集合添加单个元素

【查】
zrange top 0 3											#获取下标0-3的元素(升序)
zrange top 0 3 withscores								#获取下标0-3的元素及相应的分数(升序)
zrange top 0 -1 withscores								#获取集合中所欲的元素及相应的分数(升序)
zrevrange top 0 -1 withscores							#获取集合中所欲的元素及相应的分数(降序)
zrangebyscore top 20 30									#获取分值为20-30之间的元素
zscore top java											#获取元素的分数
zrank top java											#获取元素的下标(升序)
zrevrank top java										#获取元素的下标(降序)		

【统计】
zcard top												#统计集合元素个数
zcount top 20 60										#统计分值为20-60之间的集合元素个数

【改】
zincrby top 20 pho										#向元素增加指定分数,若元素不存在,则新增
zincrby top 20 php										#若存在,则在原分数累加


【删】
zrem top c++ php										#从集合中删除指定的元素
zremrangebyscore top 0 50								#从集合中删除指定分数区间的元素
zremrangebyrank top 0 1									#从集合中删除指定下标(0-1)的元素
zremrangebyrank top 0 -1								#从集合中删除所有元素
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

IT二叔

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值