redis常见数据类型操作命令:
http://redisdoc.com/
http://doc.redisfans.com/
redis键(key)中常用(红色字体是小常用)
- DEL key #该命令用于在key存在时删除key
- key * #查看当前数据库的所有key
- TYPE key #查看key是什么类型
- EXISTS key #检查给定key是否存在
- EXPIRE key seconds #为给定key设置过期时间
- TTL key #查看还有多少秒过期,-1表示永不过期,-2表示已经过期。如果过期了用keys *也查不到过期的key
- KEYS pattern #查找所有符合给定模式(pattern)的key
- MOVE key db#将当前数据库的key移动到给定的数据库db当中。当前数据库没有这个key了
- DUMP key # 序列化给定key,并返回被序列化的值
- EXPIREAT key timestamp #和EXPIRE类似,都用于为key设置过期时间。不同在于EXPIRE命令接受的时间参数是UNIX时间戳(unix timestamp)
- PEXPIRE key milliseconds #设置key的过期时间以毫秒计
- PEXPIREAT key milliseconds-timestamp#设置key过期时间的时间戳(unix timestamp)以毫秒计
- PERSIST key #移除key的过期时间,key将持久保持。
- PITL key#以毫秒为单位返回key的剩余的过期时间
- RANDOMKEY#从当前数据库中随机返回一个key
- RENAME key NewKeyName#修改key的名称
- RENAMENX key NewKeyName#仅当NewKeyName不存在时,将key改名为NewKeyName
string中常用(红色是小常用)--单值单value
- SET key value # 设置指定key的值
- GET key # 获取指定key的值
- GETRANGE key start end # 返回key中字符串值的子字符MGET key1 [key2...] # 获取所有(一个或多个)给定key的值。more get
- SETEX key seconds value # 将值value关联到key,并将key的过期时间设为seconds(以秒为单位)
- SETNX key value # 只有在key不存在时设置key的值
- SETRANGE key offset value # 用value参数覆写给定key所存储的字符串,从偏移量offset开始
- STRLEN key # 返回key所存储的字符串的长度
- MSET key value [key2 value2...] # 同时设置一个或多个key-value对 more set
- MSETNX key value [key2 value2...] # 同时设置一个或多个key-value对,当且仅当所有给定key都不存在,有一个key存在就设置失败
- INCR key # 将key中存储的数字值增1 key的值必须是数字必须是数字
- INCRBY key increment # 将key所存储的值加上给定的增量值(increment)必须是数字
- DECR key # 将key中存储的数字值减1 decrease缩写 必须是数字
- DECRBY key decrement # key所存储的值减去给定的减量值(decrement)必须是数字
- APPEND key value # 如果key已经存在并且是一个字符串,APPEND命令将value追加到key原来的值的末尾
- GETSET key value # 将给定key的值设为value,并返回key的旧值(old value)
- GETBIT key offset # 对key所存储的字符串值,获取指定偏移量上的位(bit)
- SETBIT key offset value # 对key所存储的字符串值,设置或清除指定偏移量上的位(bit)
- PSETEX key milliseconds value # 这个命令和SETEX命令相似,但它以毫秒为单位设置key的生存时间,而不是像SETEX命令那样,以秒为单位
- INCRBYFLOAT key increment # 将key所存储的值加上给定的浮点增量值(increment)
列表(list)常用(红色是小常用)--单值多value
- lpush #left push
- rpush # right push
- lrange # list range
- lpop # left pop
- rpop # right pop
- lindex #按照索引下标获得元素(从上到下)list index
- llen #list len 列表长度
- lrem key count value#删count个value从左到右删
- ltrim key 开始index 结束index #截取指定范围的值再赋值给key
- rpoplpush 源列表 目标列表 #源列表右边出栈一个value 给目标列表的左边。
源列表的尾给目标列表的头- lset key index value #把列表key的第index个索引值改为value
- linsert key before/after 值1(列表中有的值) 值2(要插入的值)
- 性能总结
常用
redis 集合(set)中常用(红色是小常用)--单值多value
- sadd key member1 [member2..]#向集合添加一个或多个成员
- smembers key#返回集合中的所有成员
- sismember key member#
- scard key#获取集合里面的成员个数
- srem key value #删除集合中元素
- srandmember key n #随机出n个元素
- spop key #随机出栈
- smove key1 key2 value(在key1里某个值)#将key1里的某个值赋给key2
- 数学集合类
sdiff key1 [key2]#返回给定所有集合的差集(在第一个set里面而不在后面任何一个set里面的项)
sinter #交集
sunion #并集常用:
redis hash(哈希)中常用,标红是小常用--KV模式不变,但V是一个键值对
- hset key key1 value1 [key2 value2...]
- hget key1 key2
- hmset key key1 value1 key2 value2...
- hmget key key1 key2 key3...# hash more get
- hgetall key1#查看key1的所有key和value
- hdel key1 key2 #删除key1的key2的对应value
- hlen key # 查看hash的长度
- hexists key # 在key里面的某个值的key
- hkeys
- hvals
- hincrby #只有数字的才能这样操作
- hincrbyfloat #只有数字的才能这样操作
- hsetnx
redis 有序集合Zset(sorted set)
在set基础上,加一个score值。
之前set是k1 v1 v2 v3,
现在zset是k1 score v1 score v2
- zadd
- zrange
- zrangebyscore key 开始score 结束score#withscores ; (不包含;limit返回限制 limit开始下标步 多少步
- zrem key 某score下对应的value值,作用是删除元素
- zcard key # 统计元素个数
- zcount key score区间 # 统计区间的元素个数
- zrank key value # 获取下标值
- zscore key 对应值 #获取对应值的分数
- zrevrank key value值 # 逆序获得下标值
- zrevrange
- zrevrangebyscore key 结束score 开始score