keys * 查看当前库所有key名称。
exists key 判断某个key是否存在。存在返回1,不存在返回0。
move key db 把当前库某个key移到指定库。
expire key second 为指定的key设置过时时间,单位为秒。
ttl key 查看指定key还有多少秒过时,-1表示永不过时,-2表示已过时(若是过时该key会被移出库)。
type key 查看你的key是什么数据类型。
del [key...] 删除指定key,可同时删除多个。html
string类型是redis最基本的数据类型,redis中一个字符串value最多能够是512M。
string类型是二进制安全的。意思是redis的string能够包含任何数据。好比jpg图片或者序列化的对象。java
set 设置一个key-value。
get 获取一个key的value。
del 删除一个或多个key-value。
append 对指定key的value追加值。
strlen 获取指定key的value的长度。
incr 对指定key的value每次加1。 必定要是数字才能进行加减。
decr 对指定key的value每次减1。 必定要是数字才能进行加减。
incrby 对指定key的value每次加n(数量可指定)。 必定要是数字才能进行加减。
decrby 对指定key的value每次减n(数量可指定)。 必定要是数字才能进行加减。
getrange 获取指定key的value的指定区间范围内的值,相似于java的substring。
setrange 设置指定key的value的指定区间范围内的值,原区间范围的值会被覆盖。
setex(set with expire) 设置一个key-value并指定该key的过时时间(秒)。
setnx(set if not exist) 设置一个key-value,若是该key存在则不设置,若是不存在则设置。
mset 设置一个或多个key-value。
msetnx 设置一个或多个key-value,若是key都不存在则设置,若是其中有一个key存在则不设置。
mget 获取一个或多个key的value。
getset 获取一个key(key必须存在)并设置该key的值,返回原来的值。redis
redis hash 是一个键值对集合。redis hash 是一个string类型的field和value的映射表,hash特别适合用于存储对象。安全
相似Java里面的Map<String,Object>。KV模式不变,但V是一个键值对。app
hset 添加一个hash集合并往里面添加一对KV。
hget 获取hash集合某个Key的数据。
hmset 添加一个hash集合并往里面添加N对KV。
hmget 获取hash集合N个Key的数据。
hgetall 获取hash集合所有的KV数据。
hdel 移除hash集合中的N个Key。
hlen 获取hash集合中Key的数量。
hexists 判断hash集合中某个Key是否存在。
hkeys 获取hash集合所有Key。
hvals 获取hash集合所有Value。
hincreby 给hash集合中的某个key加N。 必定要是数字才能加,加整数。
hincrebyfloat 给hash集合中的某个key加N。 必定要是数字才能加,加整数或小数。
hsetnx 添加一个hash集合并往里面添加一对KV(若是key不存在则添加,存在则不添加)。大数据
redis list 列表是简单的字符串列表,按照插入顺序排序。你能够添加一个元素到列表的头部(左边)或者尾部(右边)。它的底层实际是个链表。spa
说明:l(left)、r(right),将结构理解为栈,l表示栈顶、r栈底。
lpush 添加一个list列表,将一个或多个值插入到列表头部,先进后出。
rpush 添加一个list列表,将一个或多个值插入到列表尾部,先进先出。
lrange 获取list列表指定区间范围内的值。
lpop 移除list列表顶部元素(第一个元素),并返回被移除的元素。
rpop 移除list列表底部元素(最后一个元素),并返回被移除的元素。
lindex 按照顶部索引下标得到元素。
llen 获取list列表的长度。
lrem 移除list列表N个value。(lrem key count value)。
ltrim 截取list列表指定范围内的值后再赋值给list列表(原值将被截取值覆盖)。
rpoplpush 将指定列表的底部元素移到目标列表的顶部。
lset 设置列表指定下标的值。
linsert 在指定列表的某个元素前面或后面添加元素。(linsert key before/after 列表中的元素 添加的元素)。.net
list列表总结:
它是一个字符串链表,left、right均可以添加。
若是键不存在,建立新的链表。
若是键已存在,新增内容。
若是值全移除,对应的键也就消失了。
链表的操做不管是头和尾效率都极高,但假如是对中间元素进行操做,效率就比较低了。htm
redis set是string类型的无序集合。它是经过HashTable实现的。对象
sadd 将一个或多个成员插入到set集合中。
smembers 遍历set集合。
sismember 判断指定元素是不是set集合的成员。
scard 获取set集合中元素的个数。
srem 移除set集合中N个元素。
srandmember 随机获取set集合中N个元素。
spop 随机移除set集合中N个元素并返回被移除的元素。
smove 将指定集合中的某个元素移到目标集合中。
sdiff 集合的减集。
sinter 集合的交集。
sunion 集合的并集。
redis zset 和 set 同样也是string类型元素的集合,且不容许重复的成员。不一样的是每一个元素都会关联一个double类型的分数。
redis正是经过分数来为集合中的成员进行从小到大的排序。zset的成员是惟一的,但分数(score)却能够重复。
zadd 将一个或多个成员插入到zset集合中。(zadd key 分数 值...)例如:[zadd zset1 80 zhangsan]。
zrange 获取zset集合指定区间范围内的值(zrange key start stop [withscores])。加withscores可查看分数与值
zrangebyscore 获取zset集合指定分数范围内的值(zrangebyscore key [(]min [(]max [limit offset count]),“(”表示不包含。
zrem 移除zset集合中N个元素。
zcard 获取zset集合中元素的个数(不包含分数,分数和元素是一体的)。
zcount 获取zset集合指定分数范围内的个数。
zrank 获取zset集合某个元素的下标。
zscore 获取zset集合某个元素对应的分数。
zrevrank 逆序获取zset集合某个元素的下标。
zrevrange 逆序获取zset集合指定区间范围内的值。
zrevrangebyscore 逆序获取zset集合指定分数范围内的值。