Run redis
- 运行redis server
cd redis/; ./redis-server
- 运行redis client
./redis-cli <command>
Redis shell 命令 - 通用
exists key
查看key是否存在, 返回值1 存在,0不存在
del key1, key2, key3 ... keyN
移除key1, key2, key3 ... keyN,返回值大于0: 成功,返回值=0:没有删除
type key
返回key-value对value的类型
keys pattern
返回所有符合pattern的key,空格分隔,例如kyes h*llo, keys h?llo, keys h[aeo]llo
randomkey
从当前数据库随机返回一个key
rename oldKey newKey
从原子级别修改key,返回值1成功,0失败,oldKey不存在或oldKey newKey相同
renamenx oldKey newKey
从原子级别修改key,返回值1成功,0则newKey已经存在或oldKey不存在或oldKey newKey相同
dbsize
返回当前db的key的个数
expire key seconds
设置过期时间,返回值1成功,0则key已经有过期时间或不存在
expireat key unixtime
设置过期时间,返回值1成功,0则key已经有过期时间或不存在
ttl key
ttl=time to live. 返回值是key到过期还有多少秒seconds。返回-1,如果可以不存在或没有过期时间
select db-index
用索引选择一个db。返回值1成功,0则error。默认db索引为0
move key db-index
将key移动到索引的db。返回值1成功,0则key不存在或已经存在于索引的db
flushdb
清空当前db,类似于SQL的truncate。返回值1,没有error
flushall
清空所有db,返回值1。没有error
Redis shell 命令 - String类型
set key value
赋值key value键值对 。返回值1成功,0则error
setnx key value
同上,但是setnx不覆盖原来的值
get key
获取key的值。返回值为key的value,“nil”则是key不存在
getset key value
设置key的值为value,并且返回key的原来的值。返回值“nil”如果key不存在
mget key1 key2 ... keyN
m=multiple. 获取去key1, key2 ... keyN的值。返回值“nil”如果key不存在
mset key1 val1 key2 val2 ... keyN valN
赋值多个键值对。返回值1则全部都赋值了,0则没有key赋值成功
msetnx key1 val1 key2 val2 ... keyN valN
同上,但是不覆盖key的原来的值。
incr/decr key
key的value +/- 1
incrby/decrby key integer
key的value +/- integer. 自定义
Redis shell 命令 - list相关
rpush key stringVal
将stringVal加入key的list的head位置
lpush key stringVal
将stringVal加入key list的tail位置
llen key
返回一个key的list的长度
lrange key start end
返回一个key的list的所有元素,从索引0开始。负数是代表从tail开始。返回值为空list则key不存在
ltrim key start end
在start和end之间trim该key的list
lindex key index
返回key的list中index的元素
lset key index value
给key的list中index的元素赋值
lrem key count value
从key的list中移除count个元素,移除的每个元素都是value
lpop/rpop key string
移除并且返回key的list中head/tail位置的元素
rpoplpush scrkey destkey
从原子级别返回并且移除scrkey的list tail位置元素,并且将该元素push到destkey的list的头部。