redis数据结构以及常用的命令

redis的五种数据类型

一、基本解释
结构类型结构存储的值可操作的行为
sting可以是 字符串,也可以是整数、浮点数如果值为字符串,可以对整个字符串或者字符串的一部分进行操作,如果值为整数或 者浮点数,可以执行自增或自减
list一种链表,链表上的每一个节点都包含了一个字符串从链表的两端推入或者弹出元素; 根据偏移量对链表进行修剪;读取单个或者多个元素;根据值查找或者移除元素
set包含字符串的有无序集合,但每一个元素都是独一无二的添加、获取、移除单个元素;检查元素是否存在于集合当中;计算并集、交集、差集;从集合中随机获取元素
Hash包含键值对的无序散列表添加、获取、移除键值对;获取所有键值对
zset字符串成员与浮点数分值的有序映射,元素的排列顺序由分值的大小决定添加、获取、删单个元素、根据分值范围或者成员获取元素

二、常用命令

string

SET     设置一个字符串             例:set hello world  结果:OK
GET     获取给定键对应的值             get hello             “world”
DEL     删除一个给定的字符串           del hello             (integer) 1 或者nil
INCR   incr key-name      --->将键对应的值加1
DECR   decr key—name      ---> 将键对应的值减1
incrby         incrby key_name amount    ---> 将键对应的值加amount
decrby         decrby key_name amount    ---> 将键对应的值减amount
incrbyfloat    incrbyfloat   key-name amount  ---> 将键对应的值加上浮点数amount
append         append key-name value1    --->将value追加到给定key对应值的末尾
getrange       getrange key-name start end    获取给定key对应值的字串,
			   包含start和end在内
setbit         setbit key-name offset value 将字符串看作是二进制的字符串,
			   并将位移当中位移量为offset的二进制位的值设置为value

List

RPUSH     		将给定的值推入到列表的右侧
lpush     		lpush key-name value [value ...]   ---> 从列表的左端推入一个元素
rpop      		rpop  key-name                     ---> 从列表的右侧移除一个元素
LRANGE    		给定给定范围的所有值
LINDEX    		获取给定列表上的给定位置上的单个元素
LPOP      		从列表的左侧弹出一个值,并将值返回
ltrim     		ltrim key-name start end     ---> 对列表进行修剪,只保留从startend
		  		范围内的元素,startend的元素也会保留
blpop     		blpop  key-name [key-name] timeout  ---> 从第一个非空列表中弹出最左侧
		  		的元素或者在timeout秒之内阻塞并等待可弹出的元素出现(B即block(阻塞)的缩写)
brpop     		brpop  key-name [key-name] timeout  ---> 从第一个非空列表中弹出最右侧
		  		的元素或者在timeout秒之内阻塞并等待可弹出的元素出现
rpoplpush    	rpoplpush source-key dest-key  ---> 从source-key列表的右侧弹出一个
			 	元素,压入到dest-key列表的左侧,并向用户返回这个元素
brpoplpush    	brpoplpush source-key dest-key timeout  ---> 从source-key列表的
			  	右侧弹出一个元素,压入到dest-key列表的左侧,并向用户返回这个元素,
			  	如果source-key为空,那么在timeout秒之内阻塞并等待可弹出的元素出现,
			  	时限到达后返回none

set

SADD            sadd key-name item [item]  将给定的值添加到无序集合当中
SMEMBERS        smembers key-name   返回该集合包含的所有元素
SISMEMBER       sismember key-name item---> 检测元素item是否存在于key-name集合当中
SREM            srem  key-name item [item ...]如果给定元素存在于集合当中,则将其移除
scard           scard key-name     --> 返回集合包含的元素的数量
srandmember		srandmember [count]  ---> 从集合当中随机的返回一个或者多个元素
spop      		spop key-name     ---> 随机的从集合中移除一个元素,并返回被移除的元素
smove        	smove source-key  dest-key item    ---> 如果source-key集合中包含
				元素item,那么就从source-key集合当中将其移除,并且添加到dest-key集合
				当中,成功返回1,失败返回0
sdiff       	sdiff key-name [key-name]  --->  返回差集
sdiffstore      sdiff dest-key key-name [key-name] --->将差集存储到dest-key集合
				当中
sinter          sinter key-name [key-name]    --->返回交集
sinterstore     sinterstore dist-key  key-name [key-name]   ---> 将交集存储到
				dist-key集合当中
sunion  		sunion key-name [key-name]     --->返回并集
sunionstore   	sunionstore dist-key key-name [key-name]   ---> 将并集存储到
				dist-key集合当中

hash

HSET             在散列中添加给定的键值对
HGET             获取给定散列键的值
HGETALL          获取给定散列的所有键值对
HDEL             如果给定的键存在于散列当中,则将其移除
HMGET			HMGET key-name key [key ...]--->从散列表当中获取一个或多个键的值
HMSET			HMSET key-name key value [key value ...] ---> 为散列里的一个或
				多个键设置值
HLEN            HLEN key-name   ---> 返回散列包含的键值对数量
HEXISTS  		hexists key-name key ---> 判断给定的键是否存在于散列中
HKEYS			hkeys key-name   ---> 获取散列包含的所有键
HVALS  			hvals key-name   ---> 获取散列包含的所有值
HGETALL   		hgetall key-name   ---> 获取散列包含的所有键值对
HINCRBY 		hincrby key-name key increment-->将键key存储的值加上整数increment
HINCRBYFLOAT    hincrbyfloat  key-name key increment
									---> 将键key存储的值加上浮点数increment

zset

ZADD              zadd key-name score member [score member] ---> 添加
ZRANGE     	      zrange key-name start end [withscores] --->返回有序集合当中排名
				  介于startend之间的成员,如果给定了可选的withscores选项,那么命令
				  会将成员的分值也一并返回
ZRANGEBYSCORE     获取有序集合当中在给定分值范围内的所有成员
ZREM              zrem key-name member [member...] 
								 --->如果给定成员存在于有序集合当中,
				  则将其移除,并返回被移除的成员的数量
ZCARD      		  zcard key-name --->返回有序集合包含的成熟数量
ZINCRBY   		  zincrby key-name increment member 
								--->将成员member的分值加上increment
ZCOUNT   		  zcount key-name min max ---> 返回分值介于min和max之间的成员数量
ZRANK             zrank  key-name member  ---> 返回成员在有序集合当中的排名
ZSCORE   	      zscore key-name member  ---> 返回成员在有序集合当中的分值
ZREVRANK    	  zrevrank key-name member ---> 返回有序集合里成员member的排名,
				   								成员按照分值从大到小排列
ZREVRANGE 		  zrevrange key-name start end member [withscores]		
					---> 返回有序集合给定排名范围内的成员,成员按照分值从大到小排列
ZRANGEBYSCORE     zrangebyscore key max min [withscores] [limit offset count]
					---> 返回集合当中,分值介于min和max之间的所有成员
ZREVRANGEBYSCORE  zrevrangebyscore key max min [withscores] [limit offset count]
						---> 同上,只是返回值是按分值从大到小的顺序返回的
ZREMRANGEBYRANK   zremrangebyrank key start end 
						--->移除集合当中排名介于startend之间的所有成员
ZREMRANGEBYSCORE  zremrangebyscore key-name min max 
						---> 移除集合当中分值在min和max之间的所有成员
ZINTERSTORE      zinterstore dest key-count key [key ...] 
					[WEIGHTS weight [weight]] [AGGREGATE sum|min|max]
					---> 对给定的有序集合执行类似于集合的交集运算
ZUNIONSTORE 	 同上,只是求并集

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值