string 类型
string 类型数据的基本操作
#添加/修改数据 set key value #添加/修改多个数据 mset key1 value1 key2 value2 …
#获取数据 get key #获取多个数据 mget key1 key2 …
#删除数据 del key
#获取数据字符个数(字符串长度) strlen key
#追加信息到原始信息后部(如果原始信息存在就追加,否则新建) append key value
string 类型数据的扩展操作
incr key incrby key increment incrbyfloat key increment
decr key decrby key increment
setex key seconds value psetex key milliseconds value
- string在redis内部存储默认就是一个字符串,当遇到增减类操作incr,decr时会转成数值型进行计算;
- redis所有的操作都是原子性的,采用单线程处理所有业务,命令是一个一个执行的,因此无需考虑并发
带来的数据影响;- 注意:按数值进行操作的数据,如果原始数据不能转成数值,或超越了redis 数值上限范围,将报错。
9223372036854775807(java中long型数据最大值,Long.MAX_VALUE);- redis用于控制数据库表主键id,为数据库表主键提供生成策略,保障数据库表的主键唯一性
- 此方案适用于所有数据库,且支持数据库集群;
- redis 控制数据的生命周期,通过数据是否失效控制业务行为,适用于所有具有时效性限定控制的操作;
- redis应用于各种结构型和非结构型高热度数据访问加速。
hash类型
hash 类型数据的基本操作
#添加/修改数据 hset key field value #添加/修改多个数据 hmset key field1 value1 field2 value2 …
#获取数据 hget key field hgetall key #获取多个数据 hmget key field1 field2 …
#删除数据 hdel key field1 [field2]
# 获取哈希表中字段的数量 hlen key
#获取哈希表中是否存在指定的字段 hexists key field
hkeys key hvals key
hincrby key field increment hincrbyfloat key field increment
list 类型
list 类型数据基本操作
lpush key value1 [value2] …… rpush key value1 [value2] ……
lrange key start stop lindex key index llen key
lpop key rpop key
list 类型数据扩展操作
blpop key1 [key2] timeout brpop key1 [key2] timeout brpoplpush source destination timeout
lrem key count value
小贴士:
redis 应用于具有操作先后顺序的数据控制。
set 类型
set 类型数据的基本操作
sadd key member1 [member2]
smembers key
srem key member1 [member2]
scard key
sismember key member
set 类型数据的扩展操作
srandmember key [count]
spop key [count]
sinter key1 [key2] sunion key1 [key2] sdiff key1 [key2]
sinterstore destination key1 [key2] sunionstore destination key1 [key2] sdiffstore destination key1 [key2]
smove source destination member
set 类型数据操作的注意事项
sorted_set 类型
sorted_set 类型数据的基本操作
zadd key score1 member1 [score2 member2]
zrange key start stop [WITHSCORES] zrevrange key start stop [WITHSCORES]
zrem key member [member ...]
zrangebyscore key min max [WITHSCORES] [LIMIT] zrevrangebyscore key max min [WITHSCORES]
zremrangebyrank key start stop zremrangebyscore key min max
zcard key zcount key min max
zinterstore destination numkeys key [key ...] zunionstore destination numkeys key [key ...]
小贴士:
min与max用于限定搜索查询的条件;
start与stop用于限定查询范围,作用于索引,表示开始和结束索引;
offset与count用于限定查询范围,作用于查询结果,表示开始位置和数据总量。
zrank key member zrevrank key member
zscore key member zincrby key increment member
redis 应用于计数器组合排序功能对应的排名。