redis五大数据类型

1、String(字符串)

1、设置字符串值
	SET key value [EX seconds] [PX milliseconds] [NX|XX]
	EX 设置过期时间,秒,等同于SETEX key seconds value
	PX 设置过期时间,毫秒,等同于PSETEX key milliseconds value
	NX 键不存在,才能设置,等同于SETNX key value
	XX 键存在时,才能设置
	
2、设置多个键的字符串值
	MSET key value [key value ...]
	
3、键不存在时,设置字符串值
	MSETNX key value [key value ...]
	注意:这是原子操作

4、设置多少秒或者毫秒后过期
	EXPIRE key seconds
	PEXPIRE key milliseconds
	
5、设置在指定Unix时间戳过期
	EXPIREAT key timestamp
	PEXPIREAT key milliseconds-timestamp

6、查看剩余生存时间
	TTL key
	key存在但没有设置TTL,返回-1
	key存在,但还在生存期内,返回剩余的秒或者毫秒
	key曾经存在,但已经消亡,返回-2

7、查找键
	KEYS pattern
	pattern取值
	* 任意长度字符
	? 任意一个字符
	[] 字符集合,表示可以是集合中的任意一个

8、键类型
	TYPE key
9、键是否存在
	EXISTS key
10、键重命名
	RENAME key newkey
	RENAMENX key newkey
11、键删除
	DEL key [key ...]
12、获取值
	GET key
	获取多个给定的键的值
	MGET key [key ...]
13、返回旧值并设置新值
	GETSET key value
	如果键不存在,就创建并赋值
14、字符串长度
	STRLEN key
15、追加字符串
	APPEND key value
	如果键存在就追加;如果不存在就等同于SET key value
16、获取子字符串
	GETRANGE key start end
	索引值从0开始,负数表示从字符串右边向左数起,-1表示最有一个字符
17、覆盖字符串
	SETRANGE key offset value
18、步长1的增减
	INCR key
	DECR key
	字符串值会被解释成64位有符号的十进制整数来操作,结果依然转成字符串
19、步长增减
	INCRBY key decrement
	DECR key decrement
	字符串值会被解释成64位有符号的十进制整数来操作,结果依然转成字符串

2、List(列表)

命令说明
	B block 块,阻塞
	L left 左
	R right 右
	X exist 存在
1、左右或者头尾压入元素
	LPUSH key value [value ...]
	LPUSHX key value
	RPUSH key value [value ...]
	RPUSHX key value
2、左右或者头尾弹出元素
	LPOP key
	RPOP key
3、从一个列表尾部弹出元素压入到另一个列表的头部
	RPOPLPUSH source destination
4、返回列表中指定范围元素
	LRANGE key start stop
	LRANGE key 0 -1 表示返回所有元素
5、获取指定位置的元素
	LINDEX key index
6、设置指定位置元素的值
	LSET key index value
7、列表长度,元素个数
	LLEN key
8、从列表头部开始删除值等于value的元素count次
	LREM key count value
	count > 0 : 从表头开始向表尾搜索,移除与 value 相等的元素,数量为 count
	count < 0 : 从表尾开始向表头搜索,移除与 value 相等的元素,数量为 count 的绝对值
	count = 0 : 移除表中所有与 value 相等的值
9、去处指定范围外元素
	LTRIM key start stop
10、在列表中某个存在的值(pivot)前或后插入元素
	LINSERT key BEFORE|AFTER pivot value
	key和pivot不存在,不进行任何操作
11、左右或者头尾阻塞弹出元素
	BLPOP key [key ...] timeout
	BRPOP key [key ...] timeout
12、从一个列表尾部阻塞弹出元素压入到另一个列表的头部
	BRPOPLPUSH source destination timeout

3、Set(集合)

1、增加一个或多个元素
	SADD key member [member ...]
	如果元素已经存在,则自动忽略
2、移除一个或者多个元素
	SREM key member [member ...]
	元素不存在,自动忽略
3、返回集合包含的所有元素
	SMEMBERS key
	如果集合元素过多,例如百万个,需要遍历,可能会造成服务器阻塞,生产环境应避免使用
4、检查给定元素是否存在于集合中
	SISMEMBER key member
5、随机返回集合中指定个数的
	SRANDMEMBER key [count]
	如果 count 为正数,且小于集合基数,那么命令返回一个包含 count 个元素的数组,数组中的元素各不相同。如果 count 大于等于集合基数,那么返回整个集合
	如果 count 为负数,那么命令返回一个数组,数组中的元素可能会重复出现多次,而数组的长度为 count 的绝对值
	如果 count 为 0,返回空
	如果 count 不指定,随机返回一个元素
6、返回集合中元素的个数
	SCARD key
	键的结果会保存信息,集合长度就记录在里面,所以不需要遍历
7、随机从集合中移除并返回这个被移除的元素
	SPOP key
8、把元素从源集合移动到目标集合
	SMOVE source destination member

9、差集
	SDIFF key [key ...],从第一个key的集合中去除其他集合和自己的交集部分
	SDIFFSTORE destination key [key ...],将差集结果存储在目标key中
10、交集
	SINTER key [key ...],取所有集合交集部分
	SINTERSTORE destination key [key ...],将交集结果存储在目标key中
11、并集
	SUNION key [key ...],取所有集合并集
	SUNIONSTORE destination key [key ...],将并集结果存储在目标key中


4、Hash(散列)

1、设置单个字段
	HSET key field value
	HSETNX key field value
	key的filed不存在的情况下执行,key不存在直接创建
2、设置多个字段
	HMSET key field value [field value ...]
3、返回字段个数
	HLEN key
4、判断字段是否存在
	HEXISTS key field
	key或者field不存在,返回0
5、返回字段值
	HGET key field
6、返回多个字段值
	HMGET key field [field ...]
7、返回所有的键值对
	HGETALL key
8、返回所有字段名
	HKEYS key
9、返回所有值
	HVALS key


5、Zset(有序集合)

类似Set集合
有序的、去重的
元素是字符串类型
每一个元素都关联着一个浮点数分值(Score),并按照分值从小到大的顺序排列集合中的元素。分值可以相同
1、增加一个或多个元素
	ZADD key score member [score member ...]
	如果元素已经存在,则使用新的score
举例
	ZADD fruits 3.2 香蕉
	ZADD fruits 2.0 西瓜
	ZADD fruits 4.0 番石榴 7.0 梨 6.8 芒果

在这里插入图片描述

2、移除一个或者多个元素
	ZREM key member [member ...]
	元素不存在,自动忽略
举例
	ZREM fruits 番石榴 梨 芒果
	ZREM fruits 西瓜

在这里插入图片描述

3、显示分值
	ZSCORE key member
举例
	ZSCORE fruits 芒果
	ZSCORE fruits 西瓜
计算机并不能精确表达每一个浮点数,都是一种近似表达

在这里插入图片描述

4、增加或者减少分值
	ZINCRBY key increment member
	increment为负数就是减少
举例
	ZINCRBY fruits 1.5 西瓜
	ZINCRBY fruits -0.8 香蕉

在这里插入图片描述

5、返回元素的排名(索引)
	ZRANK key member
举例
	ZRANK fruits 西瓜
	ZRANK fruits 番石榴
	ZRANK fruits 芒果

在这里插入图片描述

6、返回元素的逆序排名
	ZREVRANK key member
举例
	ZREVRANK fruits 西瓜
	ZREVRANK fruits 番石榴
	ZREVRANK fruits 芒果

在这里插入图片描述

7、返回指定索引区间元素
	ZRANGE key start stop [WITHSCORES]
	如果score相同,则按照字典序lexicographical order 排列
	默认按照score从小到大,如果需要score从大到小排列,使用ZREVRANGE
举例
	ZRANGE fruits 0 2
	ZRANGE fruits -5 -4

在这里插入图片描述

8、返回集合中元素个数
	ZCARD key
9、返回指定范围中元素的个数
	ZCOUNT key min max
	ZCOUNT fruits 4 7
	ZCOUNT fruits (4 7
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值