redis数据类型_万金油_新浪博客

String 字符串
192.168.4.51:6351> set sex gril [EX seconds] [PX milliseconds] [NX|XX]
– 设置 key 及值,过期时间可以设置为秒或毫秒为单位
– nx 只有 key 不存在,才对 key 进行操作
– xx 只有 key 已存在,才对 key 进行操作
-EX 代表有效期,时间为秒

192.168.4.51:6351> set like gril  EX 20
OK
192.168.4.51:6351> ttl like   //查看有效期
(integer) 12


192.168.4.51:6351> ttl like 
(integer) -1                               //-1代表存在
192.168.4.51:6351> ttl king
(integer) -2                               //-2代表不存在

192.168.4.51:6351> set name yaya NX
OK
192.168.4.51:6351> set name yaya
OK
192.168.4.51:6351> set name yaya NX
(nil)
192.168.4.51:6351> set name yaya XX
OK
192.168.4.51:6351> set name yaya XX 


192.168.4.51:6351> set tel 13527898646
OK
192.168.4.51:6351> get tel
"13527898646"
192.168.4.51:6351> SETRANGE tel 4 ****
(integer) 11
192.168.4.51:6351> get tel
"1352****646"


strlen key
– 统计字串长度
192.168.4.51:6351> STRLEN tel
(integer) 11
192.168.4.51:6351> STRLEN name
(integer) 4

append key value
– 字符存在则追加,不存在则创建 key 及 value
– 返回值为 key 的长度
192.168.4.51:6351> get name 
"yaya"
192.168.4.51:6351> APPEND name 666
(integer) 7
192.168.4.51:6351> get name
"yaya666"
192.168.4.51:6351> APPEND name2 alice
(integer) 5
192.168.4.51:6351> get name2
"alice"

setbit key offset value
– 对 key 所存储字串,设置或清除特定偏移量上的位 (bit)
– Value 值可以为 1 或 0 , offset 为 0~2^32 之间
– key 不存在,则创建新 key
>setbit bit 0 1
>setbit bit 1 0
bit: 第 0 位为 1 ,第一位为 0
• bitcount key
– 统计字串中被设置为 1 的比特位数量


192.168.4.51:6351> setbit yayabb  1 1
(integer) 0
192.168.4.51:6351> setbit yayabb  2 1
(integer) 0
192.168.4.51:6351> setbit yayabb  3 1
(integer) 0
192.168.4.51:6351> setbit yayabb  4 0
(integer) 0
192.168.4.51:6351> setbit yayabb  5 1
(integer) 0
192.168.4.51:6351> keys *
1) "yayabb"
2) "like"
3) "name"
4) "name2"
5) "tel"
192.168.4.51:6351> BITCOUNT yayabb
(integer) 4

记录网站用户上线频率,如用户 A 上线了多少天等类似的数据
如用户在某天上线,则使用 setbit ,以用户名为 key ,将网站上线
日为 offset ,并在该 offset 上设置 1 ,最后计算用户总上线次数时,使用 bitcount 用户名即可
这样,即使网站运行 10 年,每个用户仅占用 10*365 比特位即 456
字节即可

这样可以节省空间

decr key
– 将 key 中的值减 1 , key 不存在则先初始化为 0 ,再减 1
192.168.4.51:6351> set x 100
OK
192.168.4.51:6351> EXISTS x
(integer) 1
192.168.4.51:6351> get x
"100"
192.168.4.51:6351> DECR x
(integer) 99
192.168.4.51:6351> DECR x
(integer) 98

• decrby key decrement
– 将 key 中的值,减去 decrement
192.168.4.51:6351> set x 100
OK
192.168.4.51:6351> DECRBY x 20
(integer) 80
192.168.4.51:6351> DECRBY x 20
(integer) 60
192.168.4.51:6351> DECRBY x 2
(integer) 58

get key
– 返回 key 所存储的字符串值
– 如果 key 不存在则返回特殊值 nil
– 如果 key 的值不是字串,则返回错误, get 只能处理字串

192.168.4.51:6351> keys *
1) "x"
2) "yayabb"
3) "like"
4) "x2"
5) "name"
6) "name2"
7) "tel"
192.168.4.51:6351> get x
"58"
192.168.4.51:6351> get x x2
(error) ERR wrong number of arguments for 'get' command
192.168.4.51:6351> MGET x x2 name
1) "58"
2) "-1"
3) "yaya666alice"


• getrange key start end
– 返回字串值中的子字串,截取范围为 start 和 end
– 负数偏移量表述从末尾计数, -1 表示最后一个字符, -2表示倒数第二个字符
-从零开始拿 
192.168.4.51:6351> get tel
"1352****646"
192.168.4.51:6351> GETRANGE tel 1 2
"35"
192.168.4.51:6351> GETRANGE tel  0 3
"1352"
192.168.4.51:6351> GETRANGE tel -2 -1
"46"
192.168.4.51:6351> GETRANGE tel -3 -1
"646"

incr key
– 将 key 的值加 1 ,如果 key 不存在,则初始为 0 后再加 1
– 主要应用为计数器
incrby key increment
– 将 key 的值增加 increment

192.168.4.51:6351> set x 20
OK
192.168.4.51:6351> incr x
(integer) 21
192.168.4.51:6351> incr x
(integer) 22
192.168.4.51:6351> incr x
(integer) 23
192.168.4.51:6351> INCRBY x 6
(integer) 29
192.168.4.51:6351> INCRBY x 20
(integer) 49

• incrbyfloat key increment
– 为 key 中所储存的值加上浮点数增量 increment
192.168.4.51:6351> INCRBY x 0.3
(error) ERR value is not an integer or out of range
192.168.4.51:6351> INCRBYFLOAT x 0.9
"49.9"
192.168.4.51:6351> INCRBYFLOAT x  1.3
"51.2"

• mset key value [key value ...]
– 一次设置多个 key 及值,空格分隔, < 具有原子性 >
• mget key [key...]
– 一次获取一个或多个 key 的值,空格分隔, < 具有原子性
192.168.4.51:6351> mset j 10 k 30
OK
192.168.4.51:6351> mget j k
1) "10"
2) "30"


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

运维螺丝钉

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值