一、字符串类型
设置键值、获取键对应的值,不存在时返回nil
set如果某个键已存在,会覆盖该键以前对应的值
set name luohf
get name
set "first name" "luo hou fa"
get "first name"
获取键对应字符串的长度,不存在时返回0
strlen name
strlen "first name"
向一个键的字符串末尾追加字符串
append name " hi"
覆盖字符串值的一部分
setrange "name" 5 " hello"
键不存在时set,存在则返回0,不覆盖原来的值
setnx name keng
一次设置多个键的值(所有操作是原子性的)
mset name luohf age 18
一次获取多个键
mget name age
查看与键关联的值的内部编码方式
object encoding name
字符串值的编码方式:
int: 能使用64位有符号整数表示的字符串
embstr:长度小于等于44字节的字符串
raw:长度大于44字节的字符串
二、列表类型
在列表左端插入元素
lpush list01 a b c
获取列表中所有元素
lrange list01 0 -1
在列表右端插入元素
rpush list01 1 2 3
lrange list01 0 -1
在某元素后插入新元素
linsert list01 b after x
获取列表中位于索引位置处的元素(索引从0开始编号)
lindex list01 3
存在时才将元素插入到列表中
lpushx, rpushx
从左端右端移除第一个元素
lpop list01
rpop list01
删除列表中多个元素,只保留由start和end索引所指定范围内的元素
ltrim list01 1 -1
设置指定索引位置处元素的值
lset list01 1 hello
blpop和brpop
阻塞版命令,也是从左端和右端弹出元素,但当列表为空时,会将客户端阻塞,需指定一个以秒为单位的超时时间,为0表示永久等待;
例:
worker-1> brpop job_queue 0
worker-2>brpop job_queue 0
worker-3> lpush job_queue job1
worker-3> lpush job_queue job2 job3
worker-3> lrange job_queue 0 -1
配置参数:
list-max-ziplist-size: 一个列表条目中一个内部节点的最大大小,大部分情况取默认值即可;
list-compress-depth: 列表压缩策略,少用;