Key(键):
keys*查看当前库全部key名称。
existskey判断某个key是否存在。存在返回1,不存在返回0。
movekeydb把当前库某个key移到指定库。
expirekeysecond为指定的key设置过期时间,单位为秒。
ttlkey查看指定key还有多少秒过期,-1表示永不过期,-2表示已过期(如果过期该key会被移出库)。
typekey查看你的key是什么数据类型。
del[key...]删除指定key,可同时删除多个。
1.string(字符串):
string类型是redis最基本的数据类型,redis中一个字符串value最多可以是512M。
string类型是二进制安全的。意思是redis的string可以包含任何数据。比如jpg图片或者序列化的对象。
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(setwithexpire)设置一个key-value并指定该key的过期时间(秒)。
setnx(setifnotexist)设置一个key-value,如果该key存在则不设置,如果不存在则设置。
mset设置一个或多个key-value。
msetnx设置一个或多个key-value,如果key都不存在则设置,如果其中有一个key存在则不设置。
mget获取一个或多个key的value。
getset获取一个key(key必须存在)并设置该key的值,返回原来的值。
2.hash(哈希,类似java里的Map):
redishash是一个键值对集合。redishash是一个string类型的field和value的映射表,hash特别适合用于存储对象。
类似Java里面的Map<String,Object>。KV模式不变,但V是一个键值对。
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不存在则添加,存在则不添加)。
3.list(列表):
redislist列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素到列表的头部(左边)或者尾部(右边)。它的底层实际是个链表。
说明:l(left)、r(right),将结构理解为栈,l表示栈顶、r栈底。
lpush添加一个list列表,将一个或多个值插入到列表头部,先进后出。
rpush添加一个list列表,将一个或多个值插入到列表尾部,先进先出。
lrange获取list列表指定区间范围内的值。
lpop移除list列表顶部元素(第一个元素),并返回被移除的元素。
rpop移除list列表底部元素(最后一个元素),并返回被移除的元素。
lindex按照顶部索引下标获得元素。
llen获取list列表的长度。
lrem移除list列表N个value。(lremkeycountvalue)。
ltrim截取list列表指定范围内的值后再赋值给list列表(原值将被截取值覆盖)。
rpoplpush将指定列表的底部元素移到目标列表的顶部。
lset设置列表指定下标的值。
linsert在指定列表的某个元素前面或后面添加元素。(linsertkeybefore/after列表中的元素添加的元素)。
list列表总结:
它是一个字符串链表,left、right都可以添加。
如果键不存在,创建新的链表。
如果键已存在,新增内容。
如果值全移除,对应的键也就消失了。
链表的操作无论是头和尾效率都极高,但假如是对中间元素进行操作,效率就比较低了。
4.set(集合):
redisset是string类型的无序集合。它是通过HashTable实现的。
sadd将一个或多个成员插入到set集合中。
smembers遍历set集合。
sismember判断指定元素是否是set集合的成员。
scard获取set集合中元素的个数。
srem移除set集合中N个元素。
srandmember随机获取set集合中N个元素。
spop随机移除set集合中N个元素并返回被移除的元素。
smove将指定集合中的某个元素移到目标集合中。
sdiff集合的减集。
sinter集合的交集。
sunion集合的并集。
5.zset(sortedset:有序集合):
rediszset和set一样也是string类型元素的集合,且不允许重复的成员。不同的是每个元素都会关联一个double类型的分数。
redis正是通过分数来为集合中的成员进行从小到大的排序。zset的成员是唯一的,但分数(score)却可以重复。
zadd将一个或多个成员插入到zset集合中。(zaddkey分数值...)例如:[zaddzset180zhangsan]。
zrange获取zset集合指定区间范围内的值(zrangekeystartstop[withscores])。加withscores可查看分数与值
zrangebyscore获取zset集合指定分数范围内的值(zrangebyscorekey[(]min[(]max[limitoffsetcount]),“(”表示不包含。
zrem移除zset集合中N个元素。
zcard获取zset集合中元素的个数(不包含分数,分数和元素是一体的)。
zcount获取zset集合指定分数范围内的个数。
zrank获取zset集合某个元素的下标。
zscore获取zset集合某个元素对应的分数。
zrevrank逆序获取zset集合某个元素的下标。
zrevrange逆序获取zset集合指定区间范围内的值。
zrevrangebyscore逆序获取zset集合指定分数范围内的值。
如需转载,请注明文章出处和来源网址:http://www.divcss5.com/html/h56955.shtml