redis中value/String

本文介绍了Redis的数据结构、核心命令如SET、GET、INCR等,展示了MSETNX的原子性操作,以及位图、二进制安全和字符串处理技巧。重点讲解了分布式锁、编码和类型检查,还有Redis的特殊功能如GETSET和BIIOP。适合Redis初学者和进阶者阅读。
摘要由CSDN通过智能技术生成

String 

help set

nx是key值没有出现过,才可以进行设置(用于分布式锁)

xx是key必须出现过,才可以进行设置,相当于更新

mset可以设置多个key

mset k1 a k2 b

mget k1 k2 

APPEND可以增加value的值

APPEND k1 "word"

get k1

GETRANGE从哪去到哪结束,并显示

GETRANGE k1 2 3

GETRANGE k1 2 -1 从2到最后一个

GETRANGE k1 2 -2 从2到倒数第二个

SETRANGE从哪到哪覆盖

SETRANGE k1 6 666 从第6个位置上覆盖666

STRLEN显示长度

STRLEN k1 显示k1长度

数值 

type k1 查看k1的类型

OBJECT encoding k1

key中有type, 描述value的属性

key中有encoding,查看value编码

INCR k1        k1加一

INCRBY k1 value        k1加value

DECR k1        k1减一

DECR k1 value        k1减value

INCRBYFLOAT k1 0.5        k1加0.5

二进制安全

字符流

字节流

redis进程与外界做交互时,拿到的是字节流

redis-cli --raw

raw:如果不带raw,redis只会识别ascii,超过ascii,就会按十六进制显示,加上raw,会触发编码集的格式化

GETSET:将老值取出,新值插入

GETSET k1 666        返回k1原来的值

get k1        返回新值

MSETNX:只有k不存在的时候才能设置,可以设置多个key value

原则性操作:有一个添加失败,其余的都失败

bitmap位图

setbit key offset value:把key对应的value,第几个二进制位上的数变为value

offset是二进制位而非字节数组,是二进制的偏移量(1个字节有8个二进制位)

0 1 2 3 4 5 6 7 8 9 10 11 12

0-7代表第一个字节        8-16代表第二个字节

bitpos key bit [start] [end]:在规定字节索引范围内(start end),在key对应的value中,第一次二进制位上出现bit的位置

bitcount key [satrt end]: 在规定字节索引范围内(start end),在key对应的value中,统计1出现了几次

BIIOP operation destkey key [key...]:operation(and or xor not)返回的结果key key1与key2做operation操作

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值