IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> redis的value类型之String详解 -> 正文阅读

[大数据]redis的value类型之String详解

string 类型又分为 字符串, 数值 , bitmap

1. 字符串

首先明白存储的是字节,并非是字符串

操作字符串的命令

SET key value [EX seconds|PX milliseconds|EXAT timestamp|PXAT milliseconds-timestamp|KEEPTTL] [NX|XX] [GET]

在这里插入图片描述
参数说明:
ex: 生存时间单位秒
px: 生存时间单位毫秒
exat: 到期时间(用时间戳表示到期时间,单位时秒
pxat: 到期时间(用时间戳表示到期时间,单位时毫秒
nx: redis中该key不存在时才能设置, 可以用作分布式锁
xx: redis中该key存在时才能设置

SETNX key value

只有该key不存在时才能设置值

GETSET key value

设置新的值返回旧的值
在这里插入图片描述

GETDEL key

返回值并且删除key
在这里插入图片描述

GETEX key [EX seconds|PX milliseconds|EXAT timestamp|PXAT milliseconds-timestamp|PERSIST]

返回value并且设置生存时间或者到期时间

SETEX key seconds value

设置值并且给key 设置生存时间单位时秒

PSETEX key milliseconds value

设置值并且给key 设置生存时间单位时秒

GETRANGE key start end

start: 开始索引
end : 结束索引
在这里插入图片描述

字符串aaaa的索引如下:
在这里插入图片描述

SETRANGE key offset value

offset: 开始索引
value :替换的值
替换字符串的部分,超出字符串长度也可以添加
在这里插入图片描述

MSET key value [key value …]

批量添加 (并非原子操作)

MGET key [key …]

批量查询
在这里插入图片描述

MSETNX key value [key value …]

批量设置值只有所有的key不存在时才能成功, 操作保持原子性
在这里插入图片描述

APPEND key value

追加字符串
在这里插入图片描述

STRLEN key

返回字符串所占字节的长度

中文操作:
在这里插入图片描述
英文操作:
在这里插入图片描述

操作数值的命令

INCR key

该key的value是interge时 给value 加 1
在这里插入图片描述

INCRBY key increment

该key的value是interge时 给value 加 increment
在这里插入图片描述

INCRBYFLOAT key increment

给value加increment
在这里插入图片描述

DECR key

该key的value是interge时 给value 减 1

DECRBY key decrement

该key的value是interge时 给value 减 decrement
在这里插入图片描述
在这里插入图片描述

DECRBY key decrement

该key的value是interge时 给value 减 decrement
在这里插入图片描述

操作bitmap的命令

位存储的原理图:
在这里插入图片描述

SETBIT key offset value

设置值:key: 键 offset: 索引位置 value: 该二进制位上的值
对 key 所储存的字符串值,设置或清除指定偏移量上的位(bit)。
位的设置或清除取决于 value 参数,可以是 0 也可以是 1 。
当 key 不存在时,自动生成一个新的字符串值。
字符串会进行伸展(grown)以确保它可以将 value 保存在指定的偏移量上。当字符串值进行伸展时,空白位置以 0 填充。
offset 参数必须大于或等于 0 ,小于 2^32 (bit 映射被限制在 512 MB 之内)。
在这里插入图片描述

BITCOUNT key [start end]

计算给定字符串中,被设置为 1 的比特位的数量。start和end表示:字节的索引
一般情况下,给定的整个字符串都会被进行计数,通过指定额外的 start 或 end 参数,可以让计数只在特定的位上进行。
start 和 end 参数的设置和 GETRANGE 命令类似,都可以使用负数值:比如 -1 表示最后一个位,而 -2 表示倒数第二个位,以此类推。

不存在的 key 被当成是空字符串来处理,因此对一个不存在的 key 进行 BITCOUNT 操作,结果为 0
在这里插入图片描述

BITPOS key bit [start] [end]

查找索引为start字节和索引为end字节之间,bit 第一次出现的偏移量,下面的例子:
bitpos k1 1 0 1: 表示在0号字节和1号字节之间,第一次出现1的位图的偏移量,1第一次出现在0号字节上,偏移量是1
bitpos k1 1 1 1: 表示在1号字节和1好字节之间(其实就是1号字节),第一次出现的1的位图偏移量,很显然1在1号字节第一次出现的偏移量是9,因为1号字节的偏移量是从8开始
在这里插入图片描述

BITOP operation destkey key [key …]

对一个或多个保存二进制位的字符串 key 进行位元操作,并将结果保存到 destkey 上。
在这里插入图片描述

应用场景:

1.统计一段时间内用户登录的次数

在这里插入图片描述

2. 统计一段时间内有多少用户登陆过

在这里插入图片描述

3.统计浏览量,收藏数, 点赞数,可以用incr 命令

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2022-02-26 11:37:32  更:2022-02-26 11:40:34 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 11:40:46-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码