redis其他类型和配置文件

news2024/9/20 11:32:44

很多博客只讲了五大基本类型,确实,是最常用的,而且百分之九十的程序员对于Redis只限于了解String这种最常用的。但是我个人认为,既然Redis官方提供了其他的数据类型,肯定是有相应的考量的,在某些特殊的业务场景中,这些特殊的类型还是能够给我们多一种解决思路!
Geospatial: 地理位置
georadius(查询附近位置)操作
再Redis中,可能会有一定的误差性。 官方给出的误差率是0.81%。
如果在实际业务中,允许一定的误差值,我们可以使用基数统计来计算~效率非常高

Hyperloglog: 基数

Bitmap: 位存储

127.0.0.1:6379> setbit login 1 1   #添加周一已登陆 为1
(integer) 0
127.0.0.1:6379> setbit login 2 1
(integer) 0
127.0.0.1:6379> setbit login 3 1
(integer) 0
127.0.0.1:6379> setbit login 4 0  #添加周四已登陆 为0
(integer) 0
127.0.0.1:6379> setbit login 5 0
(integer) 0
127.0.0.1:6379> setbit login 6 1
(integer) 0
127.0.0.1:6379> setbit login 7 0
(integer) 0
127.0.0.1:6379> getbit login 1  #获取周一是否登录
(integer) 1
127.0.0.1:6379> getbit login 4  #获取周四是否登陆
(integer) 0
127.0.0.1:6379> bitcount login  #统计这周登陆的天数
(integer) 4

总结:实际需求中,可能需要我们统计用户的登陆信息,员工的打卡信息等等。只要是事务的只有两个状态的,我们都可以用Bitmap来进行操作!!!

您提供的是一个Redis服务器的配置文件内容。以下是对每项配置的中文解释:

- **bind 0.0.0.0**:Redis监听所有可用的网络接口(包括本地回环和所有外部网络接口)。

- **protected-mode no**:关闭保护模式,这允许从任何主机连接到Redis,除非进一步配置了访问控制(如密码)。

- **port 6379**:设置Redis监听的端口号。

- **tcp-backlog 511**:设置TCP连接的backlog队列大小。这通常设置为高于一般系统默认值以处理大量连接。

- **timeout 0**:客户端空闲时间(秒),0表示关闭这个功能,不会断开空闲连接。

- **tcp-keepalive 300**:TCP连接保持活跃的时间间隔(秒),用于检测对方是否还保持连接状态。

- **daemonize yes**:Redis以守护进程的方式运行,即在后台运行。

- **pidfile /var/run/redis_6379.pid**:当Redis以守护进程方式运行时,PID文件的路径。

- **loglevel notice**:日志级别设置为notice,适度详细的日志级别,通常用于生产环境。

- **logfile "./redis.log"**:日志文件的路径。相对路径表示在当前工作目录下。

- **databases 16**:设置数据库的数量。Redis默认有16个数据库(编号0-15)。

- **always-show-logo no**:启动时是否显示Redis的ASCII艺术LOGO。

- **set-proc-title yes**:是否设置进程标题,这有助于监控和识别Redis实例。

- **proc-title-template "{title} {listen-addr} {server-mode}"**:设置进程标题的格式。

- **stop-writes-on-bgsave-error yes**:如果后台保存(BGSAVE)出错,停止写入操作。

- **rdbcompression yes**:对RDB文件进行压缩。

- **rdbchecksum yes**:在写入RDB文件时,加入CRC64校验和,以增加数据完整性检查。

- **dbfilename dump.rdb**:RDB文件的名称。

- **rdb-del-sync-files no**:在完成RDB文件保存后,是否删除旧的RDB文件。

- **dir ./**:工作目录,RDB文件和AOF文件将保存在此目录。

- **masterauth abc123**:如果Redis作为从节点,当连接到主节点时使用的密码。

- **replica-serve-stale-data yes**:如果从节点与主节点失去连接,是否继续提供可能过期的数据。

- **replica-read-only yes**:从节点是否为只读。

- **repl-diskless-sync no**:是否启用无盘复制(直接从主节点复制到从节点内存,不经过磁盘)。

- **repl-diskless-sync-delay 5**:无盘复制的延迟时间(秒)。

- **repl-disable-tcp-nodelay no**:是否在复制连接上禁用TCP_NODELAY选项。

- **replica-priority 100**:从节点的优先级,用于Sentinel(哨兵)系统选择新的主节点- **acllog-max-len 128**:ACL日志的最大长度。

- **requirepass abc123**:设置连接Redis所需的密码。

- **lazyfree-lazy-* no**:一系列关于是否异步释放数据的配置,全部设置为否意味着数据释放是同步的。

- **oom-score-adj no** 和 **oom-score-adj-values 0 200 800**:调整Redis在OOM(Out of Memory) killer下的优先级。设置为no表示不调整。

- **disable-thp yes**:禁用透明大页(Transparent Huge Pages),这通常可以减少内存碎片。

- **appendonly no**:是否启用AOF(Append Only File)持久化模式。

- **appendfilename "appendonly.aof"**:AOF文件名。

- **appendfsync everysec**:AOF文件的fsync策略,每秒同步一次。

- **no-appendfsync-on-rewrite no**:在AOF重写期间,是否在每次写入后调用fsync。

- **auto-aof-rewrite-percentage 100** 和 **auto-aof-rewrite-min-size 64mb**:自动AOF重写的条件,基于文件大小增长百分比和最小文件大小。

- **aof-load-truncated yes**:如果AOF文件结尾损坏,启动时是否加载这个文件。

- **aof-use-rdb-preamble yes**:AOF文件是否以RDB格式开始,这使得AOF文件可以兼容RDB的加载方式。

- **lua-time-limit 5000**:Lua脚本的最大执行时间(毫秒)。

- **slowlog-log-slower-than 10000**:定义什么是慢查询(微秒),超过此时间的查询将被记录。

- **slowlog-max-len 128**:慢查询日志的最大长度。

- **latency-monitor-threshold 0**:延迟监控阈值(毫秒),0表示用。

- **notify-keyspace-events ""**:键空间通知的事件类型,空字符串表示不通知。

- **hash-max-ziplist-entries 512** 和 **hash-max-ziplist-value 64**:哈希数据结构使用ziplist的阈值。

- **list-max-plist-size -2** 和 **list-compress-depth 0**:列表数据结构的配置,影响列表的存储和压缩方式。

- **set-max-intset-entries 512**:集合数据结构使用intset的阈值。

- **zset-maxziplist-entries 128** 和 **zset-max-ziplist-value 64**:有序集合使用ziplist的阈值。

- **hll-sp-max-bytes 3000**:HyperLogLog稀疏表示的最大字节数。

- **stream-node-max-bytes 4096** 和 **stream-node-max-entries 100**:流数据结构的节点大小限制。

- **activerehashing yes**:是否启用主动rehashing。

- **client-output-buffer-limit**:不同类型客户端(普通、副本、发布订阅)的输出缓冲区限制。

- **hz 10**:Redis调用内部函数检查空闲连接和执行其他周期性操作的频率。

- **dynamic-hz yes**:是否动态调整hz值,根据客户端连接的活跃度。

- **aof-rewrite-incremental-fsync yes**:在AOF重写时,是否增量调用fsync。

- **rdb-save-incremental-fsync yes**:在RDB保存时,是否增量调用fsync。

- **jemalloc-bg-thread yes**:是否使用jemalloc后台线程来管理内存,这有助于减少内存碎片和提高性能。

Jedis是Redis官方推荐的Java连接开发工具!
虽然现在的SpringBoot2.×版本已经将Jedis换成了Lettuce
行家有木有!出手就知道啊!
Redis配置对大小写不敏感!

主从复制,是指将一台Redis服务器的数据,复制到其他的Redis服务器。前者称为主节点(master/leader),后者称为从节点(slave/follower);数据的复制是单向的,只能由主节点到从节点。Master以写为主,Slave 以读为主。
在Redis集群中我们讲到了,主机断开后,我们得手动设置另一个从机变成主机!这是不智能的!在实际工作中,我们都是用哨兵模式来自动切换主机。通俗点讲,就是自己去选择‘大哥’!
哨兵集群,基于主从复制模式 ,所有的主从配置优点,它全有
户需要查询一个数据,但是redis中没有(比如说mysql中id=-1的数),直接去请求MySQL

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

1.MQ介绍

MQ 消息队列,本质是一个队列,先进先出,只不过队列中存放的内容是message而已。 为啥学习MQ 1.流量消峰 如果一个订单系统最多每秒能处理一万次订单,正常情况下我们下单1秒后就能返回结果。但是在高峰期,如果有两万…

NLP入门——RNN、LSTM模型的搭建、训练与预测

在卷积语言模型建模时,我们选取上下文长度ctx_len进行训练,预测时选取句子的最后ctx_len个分词做预测,这样句子的前0~seql-1-ctx_len个词对于预测没有任何帮助,这对于语言处理来说显然是不利的。 在词袋语言模型建模时&#xff0c…

Milvus 核心设计(5)--- scalar indexwork mechanism

目录 背景 Scalar index 简介 属性过滤 扫描数据段 相似性搜索 返回结果 举例说明 1. 属性过滤 2. 扫描数据段 3. 相似性搜索 实际应用中的考虑 Scalar Index 方式 Auto indexing Inverted indexing 背景 继续Milvus的很细设计,前面主要阐述了Milvu…

【排序算法】1.冒泡排序-C语言实现

冒泡排序(Bubble Sort)是最简单和最通用的排序方法,其基本思想是:在待排序的一组数中,将相邻的两个数进行比较,若前面的数比后面的数大就交换两数,否则不交换;如此下去,直…

C++ 入门基础:开启编程之旅

文章目录 引言一、C的第⼀个程序二、命名空间1、namespace2、namespace的定义 三、C输入 与 输出四、缺省参数五、函数重载六、引用1、引用的概念和定义2、引用的特性3、指针和引用的关系七、inline八、nullptr 引言 C 是一种高效、灵活且功能强大的编程语言,广泛应…

【java】力扣 合并两个有序数组

文章目录 题目链接题目描述代码第一种第二种 题目链接 88.合并两个有序数组 题目描述 代码 第一种 public void merge(int[] nums1, int m, int[] nums2, int n) {for(int i 0;i<n;i){nums1[mi] nums2[i];}Arrays.sort(nums1);}第二种 public void merge(int[] nums1,…

【数据结构】二叉树全攻略,从实现到应用详解

​ &#x1f48e;所属专栏&#xff1a;数据结构与算法学习 &#x1f48e; 欢迎大家互三&#xff1a;2的n次方_ ​ &#x1f341;1. 树形结构的介绍 树是一种非线性的数据结构&#xff0c;它是由n&#xff08;n>0&#xff09;个有限结点组成一个具有层次关系的集合。把它叫做…

JVM垃圾回收-----垃圾分类

一、垃圾分类定义 垃圾分类是JVM垃圾分类中的第一步&#xff0c;这一步将堆中的对象分为存活对象和垃圾对象两类。 在垃圾分类阶段&#xff0c;JVM会从一组根对象开始&#xff0c;通过对象之间的引用关系&#xff0c;遍历所有的对象&#xff0c;并将所有存活的对象进行标记。…

QT使用QPainter绘制多边形维度图

多边形统计维度图是一种用于展示多个维度的数据的图表。它通过将各个维度表示为图表中的多边形的边&#xff0c;根据数据的大小和比例来确定各个维度的长度。 一、简述 本示例实现六边形战力统计维度图&#xff0c;一种将六个维度的战力统计以六边形图形展示的方法。六个维度是…

leetcode-383.赎金信

题源 383.赎金信 题目描述 给你两个字符串&#xff1a;ransomNote 和 magazine &#xff0c;判断 ransomNote 能不能由 magazine 里面的字符构成。如果可以&#xff0c;返回 true &#xff1b;否则返回 false 。magazine 中的每个字符只能在 ransomNote 中使用一次。示例 1&…

MySQL(3)表的操作

目录 1. 表的操作; 2. 数据类型; 1. 表的操作: 1.1 创建表: 语法: create table 表名( 属性 类型 [comment ], 属性 类型 [comment ], 属性 类型 ) character set 字符集 collate 校验集 engine 存储引擎; 前面博客提到: MyISAM和InoDB这两个比较重要. 1.2 查看表…

Spring与设计模式实战之策略模式

Spring与设计模式实战之策略模式 引言 在现代软件开发中&#xff0c;设计模式是解决常见设计问题的有效工具。它们提供了经过验证的解决方案&#xff0c;帮助开发人员构建灵活、可扩展和可维护的系统。本文将探讨策略模式在Spring框架中的应用&#xff0c;并通过实际例子展示…

three.js领衔,10大基于webGL的JavaScript库。

Three.js的赫赫威名补多少&#xff0c;不了解的自行搜索或者翻看大宇之前的文章&#xff0c;除了three.js外&#xff0c;我想实现web3D效果还有其他库吗&#xff1f;答案是有的&#xff0c;而且还不少。 除了 Three.js&#xff0c;还有一些基于 WebGL 的库和框架&#xff0c;它…

动态环境下的激光slam论文列表

文章目录 Scan Context: Egocentric Spatial Descriptor for Place Recognition within 3D Point Cloud Map&#xff08;2018&#xff09;LIO-CSI: LiDAR inertial odometry with loop closure combined with semantic information&#xff08;2021&#xff09;Semantic Lidar-…

防火墙--双机热备

目录 双击热备作用 防火墙和路由器备份不同之处 如何连线 双机 热备 冷备 VRRP VGMP&#xff08;华为私有协议&#xff09; 场景解释 VGMP作用过程 主备的形成场景 接口故障的切换场景 整机故障 原主设备故障恢复的场景 如果没有开启抢占 如果开启了抢占 负载分…

网络原理(上)

前言&#x1f440;~ 上一章我们介绍了网络的一些基础知识&#xff0c;今天来讲解一下网络原理相关的知识点&#xff0c;分三篇进行阐述内容有点多​​​​​​​ 再谈协议分层 应用层 传输层&#xff08;重点&#xff09; UDP协议 TCP协议 TCP如何完成可靠传输&#xff…

在 PostgreSQL 里如何处理数据的归档和清理过程中的数据完整性验证?

&#x1f345;关注博主&#x1f397;️ 带你畅游技术世界&#xff0c;不错过每一次成长机会&#xff01;&#x1f4da;领书&#xff1a;PostgreSQL 入门到精通.pdf 文章目录 在 PostgreSQL 里如何处理数据的归档和清理过程中的数据完整性验证 在 PostgreSQL 里如何处理数据的归…

3D数字孪生项目运行卡顿,来看看它要求的电脑配置。

有些小伙伴和我说&#xff0c;数字孪生项目运行卡顿&#xff0c;不知道啥原因&#xff0c;根源还是这类项目是浏览器渲染&#xff0c;对电脑配置要求很高。 运行3D数字孪生项目需要一台性能强大的电脑&#xff0c; 以下是一个推荐的配置清单&#xff1a; 1. 处理器&#xff1…

css实现每个小盒子占32%,超出就换行

代码 <div class"visitors"><visitor class"item" v-for"(user,index) in userArr" :key"user.id" :user"user" :index"index"></visitor></div><style lang"scss" scoped&…

Porfinet转DeviceNet主总线协议转换网关

产品功能 1. 远创智控YC-DNTM-PN型网关是Porfinet从转Devicenet主工业级Porfinet网关。‌这种网关设备允许将Porfinet网络中的设备连接到Devicenet网络中&#xff0c;‌从而实现不同工业通信协议之间的互操作性。‌这些网关设备通常具有两个以太网接口&#xff0c;‌分别用于连…