redis(Remote Dictionary Server 远程字典服务器)是NoSQL数据库 ,高性能的分布式内存数据库
https://redis.io
Redis键
keys 查看当前库所有key(匹配:keys 1)
exists key 判断某个key是否存在
type key 查看你的key是什么类型
del key 删除指定的key数据
unlink key 根据value选择非阻塞删除
仅将keys从keyspace元数据中删除,真正的删除会在后续异步操作
expire key 10 10秒钟:为指定的key设置过期时间
ttl key查看还有多少秒国企,-1表示永不过期,-2表示已过期
select 命令切换数据库
dbsize查看当前数据库的key数量
flushdb清空当前库
flushall通杀数据库
Redis字符串
最大512m
get
append
strlen
setnx
incr
decr
incrby/decrby
mset
同时设置一个或多个key-value对
mget
同时获取一个或多个value
msetnx
同时设置一个或多个key-value对,当且仅当所有给定key都不存在
原子性,有一个失败都失败
getrange
获得值的范围,类似java中的substring,前包,后包
setrange
用
setex
设置键值的同时,设置过期时间,单位秒
getset
以新换旧,设置了新值同时获得旧值
Redis列表(List)
lpush/rpush
lpop/rpop
rpoplpush
lrange
lindex
llen
linsert
lrem
lset
Redis集合(Set)
set可以自动排重
sadd
将一个或多个member元素加入到集合key中,已经存在的member元素将被忽略
smembers
sismember
scard
srem
spop
srandmember
smove
sinter
sunion
sdiff
Redts哈希(Hash)
hset <key><field><value>
给hget <key1><field>
从hmset <key1><field1><value1><field2><value2>...
批量设置hash的值hexists <key1><field>
查看哈希表key中,给定域field是否存在hkeys <key>
列出该hash集合的所有fieldhvals <key>
列出该hash集合的所有valuehincrby <key><field><increment>
为哈希表key中的域field的值加上增量1 -1hsetnx <key><field><value>
将哈希表key中的域field的值设置为value,当且仅当域field不存在
Redis有序集合Zset(sorted set)
与set非常相似,是一个没有重复元素的字符串集合。不同之处是有序集合的每个成员都关联了一个评分(score),这个评分被用来按照从最低分到最高分的方式排序集合中的成员。集合的成员是唯一的,但评分可以是重复的。zadd <key><score1><value1><score2><value2>...
将一个或多个member元素及其score值加入到有序集key当中zrange <key><start><stop> [WITHSCORES]
返回有续集key中,下标在zrangebyscore key minmax [withscores] [limit offset count]
返回有序集key中,所有score值介于min和max之间(包括等于min或max)的成员。
有序集成员按score值递增(从小到大)次序排列zrevrangebyscore key maxmin [withscores] [limit offset count]
同上,改为从大到小排列zincrby<key><increment><value>
为元素的score加上增量