Redis-数据类型-Bit的基本操作-getbit-setbit-Bitmap

文章目录

  • 0、Bitmaps(位图)
  • 1、查看redis是否启动
  • 2、通过客户端连接redis
  • 3、切换到db7数据库
  • 4、设置(或覆盖)一个键(key)的值(value)
  • 5、获取存储在给定键(key)下的值(value)
  • 6、获取存储在键(key)所关联的字符串值中指定偏移量(offset)上的位(bit)值
  • 7、对存储在Redis中特定key对应的字符串值,进行指定位(bit)的设置或清除操作

0、Bitmaps(位图)

  • 一种特殊的字符串类型,用于存储二进制位(bit),非常适合用于大数据量的布尔值操作。

  • 常用于用户签到、活跃用户统计等场景。

1、查看redis是否启动

[root@localhost ~]# ps -ef | grep redis
root       4270      1  0 05:51 ?        00:00:49 /usr/local/redis/bin/redis-server *:6379
root      10428   6858  0 15:03 pts/0    00:00:00 grep --color=auto redis
[root@localhost ~]# 

2、通过客户端连接redis

[root@localhost ~]# /usr/local/redis/bin/redis-cli -p 6379
127.0.0.1:6379> ping
PONG
127.0.0.1:6379> 

3、切换到db7数据库

127.0.0.1:6379> select 7
OK
127.0.0.1:6379[7]> 

4、设置(或覆盖)一个键(key)的值(value)

127.0.0.1:6379[7]> set k1 a
OK
127.0.0.1:6379[7]> 

在这里插入图片描述

5、获取存储在给定键(key)下的值(value)

127.0.0.1:6379[7]> set k1 a
OK
127.0.0.1:6379[7]> get k1
"a"
127.0.0.1:6379[7]> 

6、获取存储在键(key)所关联的字符串值中指定偏移量(offset)上的位(bit)值

127.0.0.1:6379[7]> getbit k1 0
(integer) 0
127.0.0.1:6379[7]> getbit k1 1
(integer) 1
127.0.0.1:6379[7]> getbit k1 2
(integer) 1
127.0.0.1:6379[7]> getbit k1 3
(integer) 0
127.0.0.1:6379[7]> getbit k1 4
(integer) 0
127.0.0.1:6379[7]> getbit k1 5
(integer) 0
127.0.0.1:6379[7]> getbit k1 6
(integer) 0
127.0.0.1:6379[7]> getbit k1 7
(integer) 1
127.0.0.1:6379[7]> 

0 1 1 0 0 0 0 1 表示 97 的二进制数

7、对存储在Redis中特定key对应的字符串值,进行指定位(bit)的设置或清除操作

127.0.0.1:6379[7]> setbit k1 6 1
(integer) 0
127.0.0.1:6379[7]> setbit k1 7 0
(integer) 1
127.0.0.1:6379[7]> get k1
"b"
127.0.0.1:6379[7]> 

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/744775.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

还是国产大模型靠谱!这里有一个OpenAI API用户特别搬家计划

近日,一场风波在科技圈引起了广泛的关注。6月25日凌晨,OpenAI向大量开发者发送邮件,通知他们:“您的组织有流量来自来OpenAl目前不支持的地区。从7月9日起,我们将采取额外措施,停止OpenAI不支持的国家和地区…

智慧车库管理系统

摘 要 随着城市化进程的不断加快,私家车数量的快速增长给城市交通带来了巨大的挑战,停车问题成为城市交通管理中的一大难题。车辆停车时,在停车场寻找停车位耗时过久,不仅仅浪费用户的时间,还可能引起交通拥堵。城市停…

python笔记3

1.通过乘法多次打印,以及字符串相加的合体打印 xzzz yyyy print(xy) print(x*10)#与一个数为打印多少次 2.设置俩个变量,可以通过下面的方法来判断是否一个元素是否在另一个元素中,返回bool值 xzzz yyyy print(xy) print(x*10)#与一个数为打…

论文辅导 | 基于贝叶斯优化LSTM的锂电池健康状态评估方法

辅导文章 模型描述 在传统的 LSTM 神经网络中,超参数的取值对模型性能有很大影响,但人工调参很难得到最优解。 因此,本文加入了 BO 来迭代出最优超参数。 在利用LSTM 神经网络评估锂电池 SoH 的基础上,通过 BO来提高评估的精确度。 预测效果

【以Qwen2为例】vLLM流式推理部署,openai接口调用,requests调用

大家都是穷鬼,都不喜欢看到 现在csdn上关于vllm流式推理部署的文章全部都收费,这么简单的一个技术至于这样吗?都藏着掖着 安装vllm 我的torch版本是2.3.0,对应nccl是2.20.5 pip install nvidia-nccl-cu122.20.5部署 python -m…

Java | Leetcode Java题解之第198题打家劫舍

题目&#xff1a; 题解&#xff1a; class Solution {public int rob(int[] nums) {if (nums null || nums.length 0) {return 0;}int length nums.length;if (length 1) {return nums[0];}int first nums[0], second Math.max(nums[0], nums[1]);for (int i 2; i <…

SpringBoot整合Mybatis并实现数据库增删改查

写在前面 Mybatis一个基于Java的持久层框架&#xff0c;它通过XML或注解的方式&#xff0c;将SQL语句和Java方法进行映射&#xff0c;使得开发者可以轻松地进行数据库操作。下面我会演示mybatis的配置与使用并实现数据库的增删改查。 1.准备测试数据 使用mybatis实现对数据库…

石油化工厂为什么要用专业防爆手机?

防爆手机之所以必须使用专业设计的产品&#xff0c;主要是出于安全考虑&#xff0c;以防止在易燃易爆环境中因手机使用不当引发爆炸事故。以下几点详细解释了使用专业化工防爆手机的必要性&#xff1a; 本质安全设计&#xff1a;顶坚专业防爆手机采用了本质安全&#xff08;本安…

权重衰退及代码

一、硬性限制 1、通常不限制偏移b&#xff0c;因为限制不会有区别&#xff1b;seta越小&#xff0c;意味着正则项强 2、优化的是最小化的损失函数 3、后部的限制条件&#xff0c;每个项的平方和小于一个值&#xff1b;极端情况下&#xff0c;当seta等于0&#xff0c;意味着所…

【node】深入探讨 class URL

【node】深入探讨 class URL &#x1f4cc; 浅说 fileURLToPath() 在vite.config.ts中有这么一段代码&#xff1a; import { fileURLToPath, URL } from node:url import { defineConfig } from vite export default defineConfig({resolve: {alias: {: fileURLToPath(new U…

github无法访问,下载慢的解决方法

GitHub是一个存储分享无数的开源项目和代码的宝库网站。然而&#xff0c;由于一些原因&#xff0c;国内用户在访问GitHub时常常遭遇无法访问或下载速度缓慢的问题。这不仅影响了开发者的工作效率&#xff0c;也使一些想要访问下载github文件的普通用户遇到困难。下面小编就来和…

线性代数、矩阵计算

一、线性代数 1、对于向量&#xff0c;若a是标量&#xff0c;为a的绝对值乘以b的向量长度。 2、点乘 3、范数&#xff1a;向量或者矩阵的长度 L1范数&#xff1a;&#xff08;对向量&#xff09;每个元素的绝对值求和 L2范数&#xff1a;&#xff08;对向量&#xff09;torch.…

Websocket在Java中的实践——最小可行案例

WebSocket是一种先进的网络通信协议&#xff0c;它允许在单个TCP连接上进行全双工通信&#xff0c;即数据可以在同一时间双向流动。WebSocket由IETF标准化为RFC 6455&#xff0c;并且已被W3C定义为JavaScript API的标准&#xff0c;成为现代浏览器的重要特性之一。 WebSocket的…

【嵌入式Linux】i.MX6ULL 外部中断服务函数的初始化

文章目录 1. Cortex-A7 中断系统1.1 分析1.2 具体处理流程 2. 外部中断服务函数的初始化2.1 基本流程分析2.2 具体代码分析2.2.1. 定义中断处理类型和结构体2.2.2. 初始化中断系统2.2.3. 注册中断处理函数2.2.4. 具体的中断处理逻辑2.2.5. 默认的中断处理函数 3. 完整代码 本文…

002_unsigned long数据比较的坑?

【背景】 unsigned long 类似数据的比较问题&#xff0c;先上一段代码&#xff0c;如下图所示&#xff1a; 就是图中框出的部分&#xff0c;眨眼一看&#xff0c;应该没啥问题&#xff0c;而且我也在本地的编译器vs2019上编译了&#xff0c;确实也没有报错&#xff0c;所以就修…

【Linux】静态库、动态库

动静态库里面包含的是源文件通过汇编阶段生成的后缀为.o的可重定位目标文件。我们在使用C语言&#xff0c;包含一个stdio.h头文件就可以使用scanf方法&#xff0c;其实都是系统调用了相应的头文件和库&#xff0c;库里面有开发者已经写好各种方法。也就是说我们在使用C语言时&a…

Java | Leetcode Java题解之第191题位1的个数

题目&#xff1a; 题解&#xff1a; public class Solution {public int hammingWeight(int n) {int ret 0;while (n ! 0) {n & n - 1;ret;}return ret;} }

【学习】软件测试中常见的文档类型及其作用

在软件开发的生命周期中&#xff0c;软件测试是确保产品质量的关键步骤。为了系统地进行测试活动&#xff0c;并保证测试结果的有效性和可追溯性&#xff0c;产生了一系列标准化的测试文档。这些文档不仅为测试人员提供了执行指南&#xff0c;而且为项目管理者和利益相关者提供…

【排序 队列】1585. 检查字符串是否可以通过排序子字符串得到另一个字符串

本文涉及知识点 排序 队列 LeetCode1585. 检查字符串是否可以通过排序子字符串得到另一个字符串 给你两个字符串 s 和 t &#xff0c;请你通过若干次以下操作将字符串 s 转化成字符串 t &#xff1a; 选择 s 中一个 非空 子字符串并将它包含的字符就地 升序 排序。 比方说&a…

Discourse 的 AI 内容分享

虽然 Discourse 的 AI 接口调用是需要比较高的用户权限或者管理员权限。 但是对已经生成的结果&#xff0c;Discourse 是可以保存并且分享的。 例如&#xff0c;我们搜索了一些美食的做法。 在页面的下面有一个分享 AI 对话的按钮。 在随后弹出的界面中&#xff0c;会又一个…