Redis基本数据类型与基本操作

redis数据类型

字符串string,列表list,集合set,哈希hash,有序集合zset
redis通常value均为string类型,如列表中的每个元素为string
字符串类型操作

单key-单value

set key value		//设置字符串键值,key存在则覆盖
get	key				//获取字符串值
append key newValue	//在原有值后追加新字符串值,相当于拼接,返回追加之后字符串的长度。若key不存在则新创建一个key,值为newValue
strlen key			//查看字符串值的长度
incr key			//前提值可进行运算,即为字符串数值。将字符串数值进行加1运算,返回加1后的数值。若key不存在,新建一个key,值初始化为0,再进行incr运算。
decr key			//类似incr,做减1运算。
incrby key number	//做加number运算。
decrby key number	//做减number运算。

列表类型操作

单key-多有序value

多个value有顺序,左侧为表头,右侧为表尾;

value下标从表头由0开始类似数组;或者下标从表尾计算,表尾下标为-1,往前依次减1。

value在列表中的下标由放入的顺序决定。

lpush key v1 v2 v3 ...		//将一个或多个value依次放入列表表头
lrange key startIndex endIndex		//获取列表中指定下标区间的元素
lrange key 0 -1				//返回从0到-1下标区间元素,也即所有元素
lindex key index			//获取指定下标的元素
rpush key v1 v2 v3 ...		//将一个或多个value依次放入列表表尾
lpop key					//移除并返回表头元素
rpop key					//移除并返回表尾元素
llen key					//获取列表长度
lrem key count value		//count大于0时从列表左侧移除count个值为value的值,count大于0时从右侧移除,count等于0时移除所有值为value的值

集合类型操作

单key-多无序value

一个key对应多个无顺序的value,并且value不能重复,无下标。

sadd key v1 v2 v3 ...			//将一个或多个value添加到集合中,重复的值无法被加入,返回成功添加进集合的元素个数
smembers key					//获取集合中所有值
sismember key value				//判断值是否存在于集合中,存在返回1,否则返回0
scard key						//获取集合的长度
srem key v1 v2 ...				//移除集合中一个或者多个元素,不存在则忽略,返回成功移除的元素个数
srandmember key					//随机获取集合中一个元素
srandmember key count			//随机获取count个元素,count大于0则不重复,count小于0则可能重复
spop key count					//随机从集合中移除count个元素
smove key1 key2 value			//将集合key1中的值移动到集合key2中
sdiff key1 key2 key3 ...		//获取key1中有,但其它集合中没有的元素
sinter key1 key2 key3 ...		//获取所有集合中都有的元素,即求交集
sunion key1 key2 key3 ...		//获取所以集合中所有不重复元素的集合,即求并集

哈希类型操作

单key-多个哈希键值,哈希键值为string类型的键值映射表

适合存储对象

hset key field1 value1 field2 value2 ...	//将一个或多个哈希键值对加入哈希表中,重复会覆盖
hsetnx key field value		//添加一对哈希键值,若field存在则放弃添加
hset student name zhangsan id 001
hget key field			//获取哈希表中指定field键对应的值
hmset key field1 value1 field2 value2 ...	//批量添加多个哈希键值,相当于hset
hmget key field1 field2 ...					//批量获取多个对应键的哈希值
hgetall key									//一次获取所有哈希键值
hdel key field1 field2 ...			//删除一个或多个field
hlen key			//获取哈希表的长度
hexist key field 	//判断哈希表中某个field是否存在,存在返回1,否则返回0
hkeys key			//获取哈希表中所有field列表
hvals key			//获取哈希表中所有值列表
hincrby key field number	//对哈希表中某个键对应的值进行加number操作

有序集合操作

zset和set一样都为string类型的集合,不能重复,zset每个元素对应一个分数,分数可以为整数或者浮点数,根据分数进行自动排序,分数可以重复,元素无法重复。

有序集合中元素拥有下标,下标排列与列表相同。

zadd key score1 member1 score2 member2 ... 		//将一个或者多个member及其score加入有序集合中,已存在的会被覆盖
zrange key startIndex endIndex [withscores]			//获取zset中指定下标区间(闭区间)的元素,[]表示可选,withscores表示同时获取对应分数
zrangebyscore key minScore maxScore [withscores]	//获取zset中指定分数区间的元素,闭区间。
zrem key member1 member2 	//移除zset中一个或多个元素
zcard key					//获取zset中所有元素的个数
zcount key minScore maxScore 	//获取zset中指定分数区间的元素个数
zrank key member		//获取zset中指定member的分数排名,从小到大排列,排名从0开始
zrevrenk key member		//获取zset中指定member的分数排名,从大到小排列,排名从0开始
zscore key member 		//获取zset中指定member的分数
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值