redis命令行操作五种数据类型

1、redis有关key的操作命令

1)查看数据库中的key:keys pattern
								->*:匹配0个后多个字符
								->?:匹配一个字符
								->[]:匹配一个里边的一个字符
		例如:keys *:查看数据库中所有的key
			keys k*:查看数据库中所有一卡头的key
			keys k?e:查看一k开头,一e结尾的,并且中间只有一个字符的key
			keys h[cde]llo:查看一h靠头,以o结尾,并且h后边只能在cde中取一个字符的key

	2)判断某个key是否存在数据库中:exists key 如果存在,则返回1,否则返回0
									exists key key key key	返回值是存在key的数量

	3)移动指定的key到指定的数据库实例:move key index(库号)

	4)查看指定key的剩余生存时间:ttl	key	如果key在当前库不存在,返回2-;如果没有设置生存时间,返回-1

	5)给可以设置最大生存时间:expire key seconds	超过时间后自动删除
		expire 20;

	6)查看指定可以的数据类型:type key

	7)重命名key: rename key newkey

	8)删除key:del key	删除指定的key,返回值实际删除key的数

2、redis中关于string类型数据的操作命令

	1)将string类型的数据类型设置到redis中:set key keyvalue
		set zsname zhangsan
		set zsage 20
		如果key已经存在了,则后来的value会把以前的value覆盖掉

	2)从redis中获取string类型的数据:get key
		get zsname
		get zsage
	
	3)追加字符串:append key value	返回追加之后的字符串长度,如果可以不存在,则新建一个key,并把value值设置进去
		set phone 149990
		append phone 123

	4)获取字符串数据的长度:strlen key

	5)将字符串数值进行加1运算:incr key
								|->返回加一后的数据
								|->如果key不存在,首先设置一个key,初始值为0,然后ince运算
								|->要求:key所表示的value必须是数值,否则报错
	
	6)将字符串数值进行加1运算:decr key
								|->返回减一后的数据
								|->如果key不存在,首先设置一个key,初始值为0,然后ince运算
								|->要求:key所表示的value必须是数值,否则报错

	7)将字符串数值进行加offset运算:incrby key offset
									|->返回加offset后的数据
									|->如果key不存在,首先设置一个key,初始值为0,然后incrby运算
									|->要求:key所表示的value必须是数值,否则报错

		incrby zszge 10

	8)将字符串数值进行加offset运算:decrby key offset
									|->返回减offset后的数据
									|->如果key不存在,首先设置一个key,初始值为0,然后decrby运算
									|->要求:key所表示的value必须是数值,否则报错

		decrby zszge 10

	9)获取字符串中的子字符串:getrange key startindex endindex

	10)覆盖字符串:getrange key startindex value		用value来覆盖startindex下标开始的的字符串

	11)设置字符串数据的同时,设置它的最大生命周期:setex key seconds value
		setex temp 5 1

	12)设置string类型的数据value到数据库中,当key不存在时设置成功,否则放弃设置:setnx key value

	13)批量将string类型的数据设置到redis中:mset key2 value1 key2 value2 ...

	14)批量获取:mget key1 key2 key3...

	15)批量设置,当所有key都不存在时设置成功,只要有一个已经存在就放弃:msetnx key1 value1 key2 value2....

3、redis中关于list类型数据的操作命令 单key 多valu有序

	1)将一个或是多个值依次插入列表的表头(左侧):lpush key value ...
		lpush list01 1 2 3	===  list[3,2,1]

	2)获取指定列表中的元素,lrange key startindex endindex
		lrange list01 1 3 

	3)将一个或是多个值依次插入列表的表尾(右侧):rpush key value.....

	4)移除指定列表数据表头,并返回表头元素(只是删掉了表头):lpop key

	5)移除指定列表数据表尾,并返回表尾元素(只是删掉了表尾):rpop key

	6)获取列表指定下标的元素:lindex key index

	7)获取指定列表的长度:llen key

	8)移除列表中某些数据:lrem key count value
								->count>0:从表头位置移除count个和value相等的是数据
								->count<0:从表尾位置移除count个和value相等的是数据

4、redis中关于set类型数据的操作命令:单key 多value无序 不重复

	1)将一个或多个元素添加到集合中:sadd  key value ....
		如果元素已经存在,则会忽略放入
		返回成功加入元素的个数
		sadd set01 a b b c      结果:a b c

	2)获取指定结合的所有元素:smembers key

	3)判断指定元素在指定集合中是否存在:sismember key vlaue
		*存在,返回1
		*不存在,返回0

	4)获取指定集合的长度:scard key

	5)移除指定集合中一个或多个元素:srem key member ...
		*返回成功移除的个数 

	6)随机获取指定集合中的一个或多个元素:srandember key count
														->count > 0:随机获取的多个元素不能重复
														->count < 0:随机获取的多个元素可能重复
														->不加count,默认获取一个元素

	7)随机从指定集合移除一个或多个元素:spop key count

	8)将指定集合中的指定元素移动到另一个集合:smove source dest member
		smove set01 set02 a

	9)获取第一个集合中有,其他集合中没有的元素组成的新集合(差集):sdiff key1 kye2 ...

	10)获取所有指定集合中都有的元素组成的新集合(交集):sinter key1 key2....

	11)获取所有指定集合所有元素组成的集合(并集):sunion key1 key2 ....

5、redis中关于hash类型数据的操作命令:单key,

	1)将一个或多个field-value对设置到哈希表中:hset key field1 value field2 value
		hset student01 id 1001 name zhangsan age 20

	2)获取指定哈希表中指定哈希表中指定filed的值:hget key field
		hget student01 name

	3)批量设置将多个field-value对设置到哈希表中:hmset key field 1 value1....
		*如果key field已经存在,则会覆盖

	4)批量获取指定哈希表中的field的值:hmget key field1 field2 field3....

	5)获取指定哈希表中所有的field和value:hgetall key

	6)从指定哈希表中删除一个或者多个field:hdel key field1 field2

	7)获取指定哈希表中所有的field个数:hlen key

	8)判断指定哈希表中是否存在某一个field:hexists key field

	9)获取指定哈希表值所有的field列表:hkeys:key

	10)获取指定哈希表值所有的value列表:hvals:key

	11)对指定哈希表中指定的field值进行加法(整数)运算:hincrby key field int 

	12)对指定哈希表中指定的field值进行加法(浮点数)运算:hincrbyfloat key field float

	13)将一个filed-value对设置到哈希表中,当key-field已经存在是,放弃设置;否则设置

6、rdis中关于zset类型数据的操作命令

redis中关于zset类型数据的操作命令:有序集合,本质上是集合,所有元素不能重复
每一个元素都关联一个分数,redis会根据分数对元素进行自动排序
分数可以重复
有序集合中元素的排序规则和列表中的排序规则不一样

	1)将一个或者多个member及其分数值加入有序集合(必须关联分数,不然加不进):zadd key score member
			*如果元素已经存在,则把分数覆盖掉
			zadd zset01 20 z1 30 z2 50 z3 40 z4				分数的确定与业务有关


	2)获取指定有序集合中指定下标的元素:zrange key startIndex endIndex 
			zrange zset01 0 -1
			zrange zset01 0 -1 withscores		可以同时显示分数

	3)获取指定有序集合中指定分数区间的元素:zrangebyscore key min max withscores
	
	4)删除指定有序集合中一个或多个元素:zrem key mermber1 member2...

	5)获取指定有序集合中所有元素的个数:zcard key

	6)获取指定有序集合中指定元素的排名: zrank key member

	7)获取指定有序集合中指定分数在指定区间内的个数:zcount key min max

	8)获取指定有序集合中指定元素的分数:zscor key member

	9)获取指定有序集合中指定元素的排名(按分数从大到小):zrevrank key member

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值