Redis语法介绍之String

string基础的增删改查命令:

127.0.0.1:6379> set k1 v1
OK
127.0.0.1:6379> get k1
"v1"
127.0.0.1:6379> del k1
(integer) 1
127.0.0.1:6379> get k1
(nil)
127.0.0.1:6379> set k2 v2
OK
127.0.0.1:6379> append k2 12dffsd // 追加命令
(integer) 9
127.0.0.1:6379> get k2
"v212dffsd"
127.0.0.1:6379> strlen k2 // 返回键对应值得的长度
(integer) 9
127.0.0.1:6379> get k2
"v212dffsd"
127.0.0.1:6379> set k1 4
OK
127.0.0.1:6379> incr k1 // 每次增加1,返回增加后的值
(integer) 5
127.0.0.1:6379> get k1
"5"
127.0.0.1:6379> decr k1 // 每次减少1,返回减少后的值
(integer) 4
127.0.0.1:6379> incrby k1 4 // 直接增加 后面的值
(integer) 8
127.0.0.1:6379> decrby k1 2 // 直接减少后面的值
(integer) 6
127.0.0.1:6379> incr k2 // 不能对不是数字的值进行操作
(error) ERR value is not an integer or out of range

incr/decr/incrby/decrby只能对值是数字的进行操作

127.0.0.1:6379> get k2
"v212dffsd"
127.0.0.1:6379> getrange k2 0 -1 // 返回 连个位置之间的字符串,包含两边
"v212dffsd"
127.0.0.1:6379> getrange k2 03
(error) ERR wrong number of arguments for 'getrange' command
127.0.0.1:6379> getrange k2 0 3
"v212"
127.0.0.1:6379> setrange k2 0 xxx // 从位置0起用xxx替换字符
(integer) 9
127.0.0.1:6379> get k2
"xxx2dffsd"

setex(set with expire) 键秒值/setnx(set if not exist)

127.0.0.1:6379> setex k2 10 sss
OK
127.0.0.1:6379> ttl k2
(integer) 6
127.0.0.1:6379> setnx k1 44
(integer) 1
127.0.0.1:6379> setnx k1 77
(integer) 0
127.0.0.1:6379>

还可以通过mset和mget 批量设置和获取值

127.0.0.1:6379> mset k1 v1 k2 v2
OK
127.0.0.1:6379> mget k1 k2
1) "v1"
2) "v2"
127.0.0.1:6379> msetnx k3 v3 k4 v4 //已存在 所有这条指令执行不成功
(integer) 1
127.0.0.1:6379> msetnx k3 v33 k5 v5
(integer) 0
127.0.0.1:6379> get k3
"v3"
    原文作者:binbin
    原文地址: https://segmentfault.com/a/1190000020507947
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞