设值命令:
set key value 设置 key 对应 string 类型的值,返回 1 表示成功,0 失败。
set age 25 xx //存在键age时,返回1成功
还可以设置带过期时间的:
set age 23 ex 10 //10秒后过期 px 10000 毫秒过期
setnx key value 如果 key 不存在,设置 key 对应 string 类型的值。如果 key 已经存在,返回 0。
setnx name test //不存在键name时,返回1设置成功;存在的话失败0
批量设置
mset key1 value1 …… keyN valueN 一次设置多个 key 的值,成功返回 1 表示所有的值都设置了,失败返回 0 表示没有任何值被设置。
msetnx key1 value1 …… keyN valueN 一次设置多个 key 的值,但是不会覆盖已经存在的 key
批量设值:
mset country china city beijing
获值命令:
get key 获取 key 对应的 string 值,如果 key 不存在返回 nil
get age //存在则返回value, 不存在返回nil
批量获取
mget key1 key2 …… keyN 一次获取多个 key 的值,如果对应 key 不存在,则对应返回 nil。
批量获取:
mget country city address //返回china beigjin, address为nil
<br />若没有mget命令,则要执行n次get命令<br />![](https://cdn.nlark.com/yuque/0/2020/jpeg/350923/1592469092521-886fc292-04e1-447b-bd24-94224e429551.jpeg#align=left&display=inline&height=200&margin=%5Bobject%20Object%5D&originHeight=200&originWidth=303&status=done&style=stroke&width=303)<br />使用mget=1次网络请求+redis内部n次查询<br />![](https://cdn.nlark.com/yuque/0/2020/jpeg/350923/1592469092672-f97620d0-ef47-4ec3-9e0b-13a46a4e8d07.jpeg#align=left&display=inline&height=159&margin=%5Bobject%20Object%5D&originHeight=159&originWidth=297&status=done&style=none&width=297)
先获取key的值再设置key的值
getset key value 先获取 key 的值,再设置 key 的值。如果 key 不存在返回 nil。
计数:
incr key 对 key 的值做++操作,并返回新的值。注意 incr 一个不是 int 的 value 会返回错误,incr 一个不存在的 key,则设置 key 值为 1。
decr key 对 key 的值做—操作,decr 一个不存在 key,则设置 key 值为-1。
incrby key integer 对 key 加上指定值 ,key 不存在时候会设置 key,并认为原来的 value是 0。
decrby key integer 对 key 减去指定值。decrby 完全是为了可读性,我们完全可以通过 incrby一个负值来实现同样效果,反之一样
incr age //必须为整数自加1,非整数返回错误,无age键从0自增返回1
decr age //整数age减1
incrby age 2 //整数age+2
decrby age 2//整数age -2
incrbyfloat score 1.1 //浮点型score+1.1
append追加指令:
set name hello; append name world //追加后成helloworld
字符串长度:
set hello “世界”;strlen hello//结果6,每个中文占3个字节
截取字符串:
set name helloworld ; getrange name 2 4//返回 llo