redis的数据类型分为五种:字符型(string), 哈希(hash), 列表(lpush, rpush),无序集合( sadd ) ,有序集合(zadd)
string(字符)类型的基本操作:
set key value (赋值)
del key (删除)
get key (读取值)
setex key expire value (赋值加有效时间)
setnx key value (赋值前判断 key 是否存在,不存在则赋值成功,任一 key 存在则赋值失败)
mset key value key value ..... (多键赋值)
msetnx key value key value (多键赋值,赋值原则上同)
mget key key key (获取多个键值,不存在则返回 nil)
incr key (将 key 中的数值加 1 )
deincr key (将 key 中的数值减1 )
incrby key num (key值增加指定的增量值)
deincrby key num (key值减少指定的增量值)
hash(哈希)类型基本操作:
hset name key value (赋值)
hsetnx name key vaue (赋值前检查key是否存在,存在则设置失败)
hmset name key value key value (设置多个键值对)
hget name key (读键值)
hmget name key key (读多个键值)
hgetall name (hash中所有的键和值)
hkeys name key (hash中是否存在键)
hvals name value (hash中是否存在值)
hdel name key (删除hash键值)
hlen name (hash中的键数量)
hincrby name key num (hash键值加减增量值,如果键不存在,新的hash被创建并执行 hincrby, 初始化值为 0,对字符串类型的key执行 hincrby 造成一个错误)
hincrbyfloat name key num (hash键值加减浮点数增量值)
列表操作:
lpush/rpush (列表(左插入 | 右插入))
lpop/rpop (列表 (左读取| 右读取))
lrange start end (指定区间的元素)
llen (返回列表长度)
无序列表操作:
sadd key value (无序列表赋值)
列: sadd user name age head address
smembers key (查看无序列表多有的值)
列:smembers user
srem key value value (删除一个或者多个成员值)
列: srem user name/age
scard key (返回集合中元素数量)
列:scard user
smove source_key target_key value (从资源列表里移动列表元素到目标列表里面)
sinter key key1 key2 (返回所有集合的交集)
列:sinter user1 user2 user3
sinterstore target_key key key1 key2 (将集合的交集存储在指定的集合中,如果存在,将其覆盖)
列:sinterstore userall user1 user2 user3
sunion key key1 key2 (返回所有集合的并集)
sunionstore target_key key key1 ley2 (将集合的并集存储在指定集合中,如果存在,将其覆盖)
sdiff key key1 key2 (返回集合的差集)
sdiffstore target_key key1 key2 key3 (将集合的差集存储在指定的集合中,如果存在,将其覆盖)
sismember key value (判断元素是否集合成员)
列:sismembers user name
无序集合:
zadd key score key value (有序集合赋值)
列: zadd user 1 ggg
zadd user 2 www
zrem key member (有序集合删除成员)
列:zrem user www
zrange key start end [withscores] (返回集合中指定区间的集合)
列: zrange user 0 -1
zcard key (返回集合元素的数量)
列: zcard user
zrevrange key start end [withscores] (返回集合中指定的区间,按照分数值大到小排列,相同分数值的成员按字典序的逆序)
列: zrevrange key 0 -1
zincrby key increment member (集合的元素增加(正)/减少(负)指定的增量值,元素不存在时,等于 zadd key increment member, 当key不是有序集合类型时,返回错误)
zrangebyscore key 2 3 (返回score指定区间的集合)
列:zrengebyscore user 2 3
zremrangebyrank key start_index end_index (删除集合中排名在给定区间的元素(按索引删除))
列:zremrangebyrank user 2 3
zremrangebyscore user start_score end_score (删除集合中 score 在给定区间的元素(按顺序删除))
列:zremrangebyscore user 2 5