list :有序,可以重复 ;(有序是指添加时候的顺序)
set :无序,不可重复 ;
key 存在则修改对应的值,不存在则添加 key
set key value
get key
key 存在则修改对应的值,不存在则新建 key。
key 存在的时候修改值,返回的是 key 对应的修改之前的值。
key 不存在的时候,返回的是nil
getset key value
mset key value [key value ......]
mget key [key .......]
可以删除多个
del key [key .......]
当存储的字符串是整数时
incr key
当存储的字符串是整数时
incrby key increment
当存储的字符串是整数时
decr key
当存储的字符串是整数时
decrby key decrement
append
是向键值对的末尾追加 value,如果键不存在,则将改建的值设置为 value,相当于set key value
,返回值是追加后字符串的总长度。
append key value
strlen key
返回的是截取的子串,下标从0开始,起始位置和结束位置都包含。
当起始位置是 0,结束为止为 -1 的时候,截取的是整个字符串。
getrange key 起始位置 结束位置
setrange key 起始位置 需要替换的值
将 键为 a 的字符串从 下标为 2 的位置开始 替换成 redis
时间默认以秒为单位
setex key 过期时间 value
hash叫散列类型,它提供了字段和字段值的映射。字段值只能是字符串类型,不支持散列类型、集合类型等其它
类型
hset key filed value
hmset key filed value [filed value ......]
hget key filed
hmget key filed [filed ......]
hgetall key
hdel key filed [filed ......]
当时字段的值是数值类型的时候
hincrby key filed increment
0 :不存在,1 :存在
hexists key filed
hkeys key
hvals key
hlen key
Redis 中的 list 是采用链表的方式来存储的,与 java 中的 LinkedList 相似,所以对 Redis 中的 List 的操作,是操作两端的数据。
lpush key value [value ......]
rpush key value [value ......]
列表类型最常用的命令之一,获取列表中的某一片段,将返回start、stop之间的所有元素(包含两端的元素),索
引从0开始。索引可以是负数,如:“-1”代表最后边的一个元素
lrange key start end
LPOP(rpop)命令从列表左边(右边)弹出一个元素,会分两步完成:
第一步是将列表左边的元素从列表中移除
第二步是返回被移除的元素值
lpop key
rpop key
llen key
lindex key index
lset key index value
sadd key value [value ......]
srem key value [value ......]
smembers key
0 : 不存在 ,1 :存在
sismember key value
scard key
由于 set 集合是无序的,所以会随机的弹出一个值。
spop test
Sortedset又叫zset
Sortedset是有序集合,可排序的,但是唯一。
Sortedset和set的不同之处,是会给set中的元素添加一个分数,然后通过这个分数进行排序。
向有序集合中加入一个元素和该元素的分数,如果该元素已经存在则会用新的分数替换原有的分数。返回值是新加
入到集合中的元素个数,不包含之前已经存在的元素
zadd key score member [score member ......]
zscore key member
zrem key member
0 :不存在,1 :存在
返回值为 存在的个数
exists key [key ......]
默认以秒为单位
expire key 秒数
设置为以 毫秒 为单位
pexpire key milliseconds
对应的值还在
persist key
ttl key
type key
keys *
keys *key*
del key [key ......]
rename key newkey