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 只有在key不存在时 设置key的值

incr 将key中储存的数字值增1,只能对数字值操作,如果为空,新增值为1
decr 将key中存储的数字值减1,如果为空,新增值为-1
incrby/decrby <步长>将key中储存的数字值增减,自定义步长。

mset ……
同时设置一个或多个key-value对
mget …..
同时获取一个或多个value
msetnx …
同时设置一个或多个key-value对,当且仅当所有给定key都不存在
原子性,有一个失败都失败

getrange <起始位置><结束位置>
获得值的范围,类似java中的substring,前包,后包
setrange <起始位置>
用覆写所存储的字符串值,从<起始位置>开始(索引从0开始)

setex <过期时间>
设置键值的同时,设置过期时间,单位秒
getset
以新换旧,设置了新值同时获得旧值

Redis列表(List)

lpush/rpush …从左边/右边插入一个或多个值
lpop/rpop 从左边/右边吐出一个值。值在键在,值光键亡
rpoplpush 从列表右边吐出一个值,查到列表左边
lrange 按照索引下标获得元素(从左到右) -1(右边第一个)
lindex 按照索引下标获得元素(从左到右)
llen 获得列表长度

linsert before/after 在的后面/前面插入
lrem 从左边删除n个value(从左往右)
lset将列表key下标为index的值替换成value

Redis集合(Set)

set可以自动排重
sadd …
将一个或多个member元素加入到集合key中,已经存在的member元素将被忽略
smembers 取出该集合的所有值
sismember 判断集合是否为含有该 值,有1,无0
scard 返回该集合的元素个数
srem …删除集合中的某个元素
spop 随机从该集合中突出一个值
srandmember 随机从该集合中取出n个值,不会从该集合中删除
smove value吧集合中的一个值从一个集合移动到另一个集合
sinter 返回两个集合的交集元素
sunion 返回两个集合的并集元素
sdiff 返回两个集合的差集元素(key1中的,不包含key2中的)

Redts哈希(Hash)

hset <key><field><value>给集合中的键复制
hget <key1><field>从集合取出value
hmset <key1><field1><value1><field2><value2>...批量设置hash的值
hexists <key1><field>查看哈希表key中,给定域field是否存在
hkeys <key>列出该hash集合的所有field
hvals <key>列出该hash集合的所有value
hincrby <key><field><increment>为哈希表key中的域field的值加上增量1 -1
hsetnx <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中,下标在之间的元素,带WITHSCORES,可以让分数一起和值返回到结果集
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加上增量