c语言sscanf函数的用法是什么
237
2022-09-23
Redis数据类型——String
01 Redis数据模型
1.1 基本操作
# 登录不同的库redis-cli --helpredis-cli -n 2#清除当前库数据FLUSHDB#清除所有库中的数据
02 string 支持的数据方式:
字符串是一种最基本的Redis值类型。Redis字符串是二进制安全的,这意味着一个Redis字符串能包含任意类型的数。例如: 一张JPEG格式的图片或者一个序列化的Ruby对象一个字符串类型的值最多能存储512M字节的内容key的表征一直是字符串,变的是valuekey : stringvalue: string
2.1 基本操作是字符串操作,追加,截取
set,get,append。。。。。。
2.2 登录客户端后,获取帮助
HelpHelp
2.3 命令String
#设置字符串值 set getSET key value [EX seconds] [PX milliseconds] [NX|XX]#EX 设置过期时间,秒,等同于SETEX key seconds value#PX 设置过期时间,毫秒,等同于PSETEX key milliseconds value#NX 键不存在,才能设置,等同于SETNX key value#XX 键存在时,才能设置#设置多个键的字符串值MSET key value [key value ...] #键不存在时,设置字符串值MSETNX key value [key value ...]#注意:这是原子操作,全成功或者全失败# 案列set s1 abcset s2 12set
2.4 过期时间
# 过期 Redis中可以给Key设置一个生存时间(秒或毫秒),当达到这个时长后,这些键值将会被自动删除# 设置多少秒或者毫秒后过期EXPIRE key secondsget key set key val ex 10PEXPIRE key milliseconds# 设置在指定Unix时间戳过期EXPIREAT key timestampPEXPIREAT key milliseconds-timestamp# 删除过期PERSIST key# 生存时间Time To Live,Key的剩余生存时间# 查看剩余生存时间TTL keyPTTL keykey存在但没有设置TTL,返回-1key存在,但还在生存期内,返回剩余的秒或者毫秒key曾经存在,但已经消亡,返回-2(2.8版本之前返回-1)# 案列set
2.5 查找
# 查找键KEYS pattern# pattern取值* 任意长度字符? 任意一个字符[] 字符集合,表示可以是集合中的任意一个# 案列keys s*keys s?keys s[13]
2.6 键类型
# 键类型TYPE key object encoding key# 键是否存在EXISTS key# 键重命名RENAME key newkeyRENAMENX key newkey# 键删除DEL key [key ...]
2.7 获取值
# 获取值GET key#获取多个给定的键的值MGET key [key ...]#返回旧值并设置新值,如果键不存在,就创建并赋值GETSET key value#字符串长度(2进制安全,中文体现redis-cli --raw 命令)STRLEN keyobject encoding key >
2.8 追加字符串
#追加字符串,如果键存在就追加;如果不存在就等同于SET key valueAPPEND key value#获取子字符串 索引,索引值从0开始,负数表示从字符串右边向左数起,-1表示最后一个字符GETRANGE key start end# 覆盖字符串SETRANGE key offset value# 案列
2.9 步长增加
# 步长1的增减,字符串值会被解释成64位有符号的十进制整数来操作,结果依然转成字符串INCR keyDECR key# 步长增减 float,字符串值会被解释成64位有符号的十进制整数来操作,结果依然转成字符串
03 位图
位图不是真正的数据类型,它是定义在字符串类型中一个字符串类型的值最多能存储512M字节的内
# 位上限2^(9+10+10+3)=2^32b
3.1 命令
# 设置某一位上的值,offset偏移量,从0开始SETBIT key offset value (0/1)# 获取某一位上的值GETBIT key offset#返回指定值0或者1在指定区间上第一次出现的位置偏移量BITPOS key bit [start] [end]
3.2 位操作
# 位操作0 1 0 0 0 0 0 11 1 1 0 0 0 0 10 1 0 0 0 0 0 1# 1. 对一个或多个保存二进制位的字符串 key 进行位元操作,并将结果保存到 destkey 上#2. operation 可以是 AND 、 OR 、 NOT 、 XOR 这四种操作中的任意一种#3. BITOP AND destkey key [key ...] ,对一个或多个 key 求逻辑并,并将结果保存到 destkey# 4. BITOP OR destkey key [key ...] ,对一个或多个 key 求逻辑或,并将结果保存到 destkey#5. BITOP XOR destkey key [key ...] ,对一个或多个 key 求逻辑异或,并将结果保存到 destkey#6. BITOP NOT destkey key ,对给定 key 求逻辑非,并将结果保存到 destkey#7. 除了 NOT 操作之外,其他操作都可以接受一个或多个 key 作为输入#8. 当 BITOP 处理不同长度的字符串时,较短的那个字符串所缺少的部分会被看作 0#9.空的 key 也被看作是包含 0 的字符串序列
3.3 统计指定位区间上值为1的个数
`bitpos key bit(0/1) start end > start end` #bit位的索引BITCOUNT key [start] [end] `> start end` # Byte位的索引 正负方向set k ab bitcount k 1 1 # 从左向右从0开始,从右向左从-1开始,注意官方start、end是位,测试后是字节BITCOUNT testkey 0 # 0表示从索引为0个字节到索引为0个字节,就是第一个字节的统计BITCOUNT testkey 0 # -1等同于BITCOUNT testkeyBITCOUNT testkey # 最常用的就是
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~