Redis学习-String类型基本知识与底层实现

本文深入探讨Redis中的String类型,包括基本操作指令、set与mset的区别、分布式锁实现以及注意事项。文章还解析了RedisObject、编码方式(OBJ_ENCODING_INT、OBJ_ENCODING_RAW、OBJ_ENCODING_EMBSTR)、sds结构及其优势,并讨论了创建string对象时的内存管理策略。
摘要由CSDN通过智能技术生成

Redis学习-String类型基本知识与底层实现

一、基本知识

1、关于string类型的基本操作指令

string一共有23个指令,下面我们来执行以下所有的指令,看看它的效果和作用。、
具体指令说明可以参考官方文档说明:http://www.redis.cn/commands.html#string

127.0.0.1:6379> set redis good  //添加key-value:redis good
OK
127.0.0.1:6379> get redis //获取redis的值  
"good"
127.0.0.1:6379> mset redis1 good1 redis2 good2  //同时设置redis1、redis2的值good1,good2
OK
127.0.0.1:6379> mget redis redis1 redis2 //同时获取redis、redis1、redis2的值
1) "good"
2) "good1"
3) "good2"
127.0.0.1:6379> strlen redis  //获取redis值的字符串长度
(integer) 4
127.0.0.1:6379> append redis -nice //在redis值后面追加“-nice”
(integer) 9
127.0.0.1:6379> get redis  
"good-nice"
127.0.0.1:6379> append redis3 -nice //redis3不存在,则新建redis3
(integer) 5
127.0.0.1:6379> get redis3
"-nice"
127.0.0.1:6379> set num 100 //设置key num=100
OK
127.0.0.1:6379> incr num //自增1
(integer) 101
127.0.0.1:6379> incrby num 100 //增加100
(integer) 201
127.0.0.1:6379> decr num //自减1
(integer) 200
127.0.0.1:6379> decrby num 100 //减100
(integer) 100
127.0.0.1:6379> incrbyfloat num 1.01 //加浮点数
"102.01"
127.0.0.1:6379> set bit "\x00\xff\x00" //设置key bit = “0000 0000 1111 1111 0000 0000” -- 二进制表示好理解下面内容
OK
127.0.0.1:6379> bitcount bit //计算bit中位的值为1的数量
(integer) 8
127.0.0.1:6379> set bit2 "\xff\x00\xff" //设置key bit2 = “1111 1111 0000 0000 1111 1111” 
OK
127.0.0.1:6379> bitop and bit3 bit bit2 //逻辑and位运算,结果放在bit3,为 0000 0000 0000 0000 0000 0000 
(integer) 3
127.0.0.1:6379> bitcount bit3 
(integer) 0
127.0.0.1:6379> bitpos bit 1 0 // bit中从0开始第一个位的值为1的索引
(integer) 8
127.0.0.1:6379> getbit bit 8 //获取索引8的位的值
(integer) 1

2、set、get与mset、mget的区别在哪里?

单个指令的执行过程

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值