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、付费专栏及课程。

余额充值