Redis--简介及配置文件详解
edisRemot Dictionary Server 远程字典服务是一个使用ANSI C语言编写的、支持网络、可基于内存亦可持久化的日志型、NoSQL开源内存数据库。Redis之所以称为字典服务因为它是一个key-value存储系统支持的数据类型有String字符串、List(链表)、set集合、zset有序集合、hash哈希等数据结构。NoSQL说明NoSQLnon-relational泛指非关系型数据库。NoSQL就是为了解决大规模数据集合多重数据种类带来的挑战特别是大数据应用难题。NoSQL数据库主要有4类键值存储数据库像Map一样的键值对典型代表是Redis。列存储数据库关系型数据库就是典型的行存储数据库。但是其存在一个问题就是按行存储的数据在物理层面占用的是连续的存储空间不适合海量数据存储。​ 按列存储则可实现分布式存储适合海量存储典型代表是HBase。文档型数据库NoSQL与关系型数据库的集合最像关系型数据库的NoSQL。半结构化的文档以特定的格式存储比如json。​ 典型代表是MongoDB。图形Graph数据库​ 用于存放一个节点关系的数据库例如描述不同人之间的关系。典型代表是Neo4jRedis的用途Redis使用最多的场景就是做数据缓存。即客户端从DBMS中查询出的数据首先写入到Redis中后续无论哪个客户端再访问该数据直接读取Redis中的即可不仅减小了RT而且降低了DBMS压力。根据Redis缓存数据与DBMS数据的同步性划分可划分为两类实时同步缓存只要DB中的数据发生了变更就清除缓存中的数据下次查询就会从DBMS中查询获取最新数据并写入到缓存中这样数据就保持了一致。阶段性同步缓存允许Redis缓存数据在一段时间内与DBMS中的数据不完全一致。而这个时间段就是这个缓存数据的过期时间。Redis特性Redis特性有性能高读的速度可达到11W次每秒写的速度可以达到8W次每秒。主要因为1.Redis 的所有操作都是在内存中发生的。2.Redis是C语言开发的。简单稳定Redis源码代码量小可持久化RDB与AOF高可用集群丰富的数据类型功能强大提供数据过期功能、发布/订阅功能、简单事务功能。。。客户端语言广泛支持ACL权限控制从Redis6开始引入ACLAccess Control List,访问控制列表一种细粒度的权限控制策略可以针对任意用户与组进行权限控制为不同用户定制不同的权限支持多线程IO模型Redis以前版本采用单线程模型从6.0版本开始支持多线程模型Redis的IO模型Redis客户端提交的各种请求是如何被Redis处理的Redis处理客户端请求所采用的架构称为Redis的IO模型。不同版本的Redis采用的IO模型不同。单线程模型Redis3.0及以前版本采用的是纯粹的单线程模型。即所有的客户端请求全部由一个线程处理。单线程模型采用了多路复用技术。对于多路复用器的多路选择算法有三种select模型、poll模型、epoll模型。 poll模型的选择算法采用轮询算法。该模型对客户端的就绪处理是有延迟的。 epoll模型的选择算法采用回调方式。根据就绪事件发生后的处理方式不同分为LT模型和ET模型。客户端向Redis提交请求需要与Redis建立一个socket连接并向事件分发器注册一个事件。一旦事件发生就表明该连接已就绪。一旦连接就绪事件分发器就会获取客户端的请求并将请求写入任务队列等待线程处理。之所以称为事件分发器是因为它会根据不同的就绪事件将任务交给不同的事件处理器去处理。优点可维护性高、性能高。不存在并发问题不存在执行顺序的不确定性避免了线程切换的开销不需要加锁解锁。缺点性能会受到影响。单线程只能使用一个处理器会造成cpu浪费。混合线程模型从Redis4.0开始假如了多线程元素。处理客户端请求仍是单线程模型。但是对于一些比较耗时但又不影响对客户端的响应的操作交给后台其他线程来处理。例如持久化、对AOF的rewrite、对失效连接的清理等。多线程模型Redis6.0开始才是真正意义上的多线程模型。主要体现在对客户端请求的处理采用的是多线程模型。这里的“多线程”仅用于接收、解析客户端的请求然后将请求写入任务队列。而对于具体任务的处理仍是主线程处理。这样做使用户无需考虑线程安全问题、事务控制问题、像LPUSH/LPOP等命令的执行顺序问题。优点结合了多线程和单线程的优点避开了他们的缺点。缺点没有明显缺点最多就是真正处理任务的还是单线程所有对性能也是有些影响。Redis7安装到linux安装gcc下载redis下载地址然后安装到Linux虚拟机。先解压tar -zxvf redis-7.0.4.tar.gz进入到解压目录后执行 make make install这样就安装完成了。可以执行redis-server 启动。后台启动方式由于 Redis 在前台会阻塞整个会话窗口但关闭窗口会导致 Redis 停止所以我们需要修改 Redis 配置文件使其以后台方式启动。修改redis的配置文件# 允许访问的地址默认是127.0.0.1会导致只能在本地访问。注释掉则可以在任意IP访问 # bind 127.0.0.1 -::1 # 守护进程修改为yes后即可后台运行 daemonize yes # 关闭保护模式 protected-mode no # 在1036行放开requirepass表示访问密码是111 requirepass 111 # 禁用命令1076行添加 rename-command flushall rename-command flushdb 然后执行redis-server redis.conf 就可以后台启动了。Redis各类客户端# 使用命令行客户端连接远程redis服务器 redis-cli -h 192.168.192.102 -p 6379 -a 111 # -a 111 表示登录密码是111图形界面客户端Redis Desktop MAnager 百度网盘百度网盘 请输入提取码 提取码v727RedisPlus(开源免费)Java代码客户端所谓Java代码客户端就是一套操作Redis的API。本质就是一个或多个jar包例如jdbc-redis、jedis等常用的就是jedis。Redis配置文件详解基础说明可以给Redis指定内存大小单位解释如下单位忽略字母大小写。如上图所示includes指定在当前配置文件中包含的配置文件目的是便于配置信息管理可以将不同场景的配置单独定义然后在当前核心配置文件中根据不同场景选择包含不同的配置文件。注意如果你想要外部的配置文件覆盖核心配置文件里的相同配置需要将include /...路径... 放到核心配置文件的最后一行modulesRedis配置文件通过加载不同的第三方模块来增强、扩展Redis的功能。tcp-backlog 511tcp-backlog是一个tcp的连接队列主要解决高并发场景下客户端慢连接的问题。这里设置的值是这个队列的长度。该队列与TCP连接的三次握手有关不同的Linux内核backlog队列中存放的元素客户端连接类型不同Linux内核2.2之前队列中存放的是已完成第一次握手的所有客户端连接其中也包含已完成三次握手的客户端连接。所以此时backlog队列中有两种状态未完成三次握手的连接状态为SYN_RECEIVED已完成三次握手的连接状态ESTABLISHED。只有ESTABLISHED状态的连接才会被Redis处理。Linux内核2.2之后TCP系统中维护了两个队列SYN_RECEIVED队列和ESTABLISHED队列。SYN_RECEIVED队列存放的是未完成三次握手的连接ESTABLISHED队列存放的是已完成三次握手的连接。此时backlog就是ESTABLISHED队列。TCP中的backlog队列长度在Linux中由内核参数somaxconn 来决定所以在redis中该队列的长度由Redis配置和somaxconn 共同决定取他们中的最小值。查看somaxconn 值cat /proc/sys/net/core/somaxconn如何修改somaxconn 值vim /etc/sysctl.conf # 然后添加一行 net.corn.somaxconn2048 # 保存并退出后执行命令如下就可以生效重启系统也可以生效但是生产环境下不能重启系统所以执行下面的命令即可 sysctl -pgeneraldaemonize 设置Redis启动是否采用守护进程的方式即是否后台启动。yes是采用后台启动。pidfile 指定Redis运行时pid写入的文件无论时Redis是否采用守护进程启动pid都会写入到该配置文件。如果没有配置pid文件则不同的启动方式。pid文件的产生效果不同守护进程方式启动后台启动daemonize yespid文件为 /var/run/redis.pid.前台启动daemonize no不产生pid文件。loglevel notice指定日志级别。logfile : 指定日志文件。如果设置空串则强制将日志记录到标准输出设备显示器。如果使用的是守护进程启动并且还设置成空串那么会将日志发送到设备/dev/null(空设备)。database 16 数据库数量默认数据库是0号数据库。clients该模块用于设置与客户端相关的属性仅包含一个属性 maxclients。maxclients设置Redis 可并发处理的客户端连接数量默认是10000.如果达到最大连接数则会拒绝再来的新连接并返回一个异常信息已达到最大连接数。注意该值不能超过Linux系统支持的可打开的文件描述符最大数量阈值。查看该阈值的办法ulimit -nmemory management配置可以控制最大可用内存及相关内容移除问题。maxmemory将内存使用限制为指定的字节数当达到内存限制时Redis将根据选择的逐出策略 maxmemory-policy 尝试删除符合条件的key。如果不能按照逐出策略移除key。则会给写操作命令返回error但对于只读命令时没有影响的。maxmemory-policy设置当达到maxmemory时Redistribution将如何选择要移除的内容。当然如果没有符合相应策略的内容要删除则在写操作执行写入命令时会给出errors响应。redis中共支持8种移除策略不淘汰类默认策略noeviction内存满→不删任何 key新写入命令直接报错读命令正常。适用Redis 当数据库、数据绝对不能丢。volatile 系列仅淘汰带过期时间的 keyvolatile-lru过期 key 中淘汰最近最少使用volatile-lfu过期 key 中淘汰访问频率最低volatile-random过期 key 中随机淘汰volatile-ttl过期 key 中优先淘汰马上就要过期的 keyallkeys 系列淘汰全部 key永久 key 也会删allkeys-lru所有 key 中淘汰最近最少使用生产最常用allkeys-lfu所有 key 中淘汰访问频率最低allkeys-random所有 key 中随机淘汰maxmemory-samples用于指定挑选要删除的key的样本数量。选样本的时候根据LRU不能修改。从样本中选择要淘汰的key时是根据maxmemory-policy指定的逐出策略。maxmemory-eviction-tenacity设置移除容忍度。数值越小表示容忍度越低移除数据时的延迟越小删的快数值越大容忍度越高移除时的延迟越大删的慢。默认是10一般不会改动。Threaded I/O改模块用于配置Redis对多线程io模型的支持。io-threads指定启动多线程io模型时要使用的线程数量。比如io-threads 4一般会预留一个cpu核心假如电脑是6核的一般设置4。如果cpu是8核的一般设置6io-threads-do-reads一般情况下io线程只用作写操作设置这个属性后可以使io线程也可以开启读操作。

相关新闻

专注低空经济发展多年的专家杨常卫,究竟有着怎样的从业背景?

专注低空经济发展多年的专家杨常卫,究竟有着怎样的从业背景?

现在低空经济火到什么程度?2024年全国低空经济相关政策出台超过30项、新增相关企业超过1.2万家,随便刷个创投圈新闻,十个有八个在说飞行汽车、低空物流。但尴尬的是,九成项目都停留在PPT和样机阶段,真能走到量产落地的…

2026/10/12 3:21:07 阅读更多 →
支付回调验签失效?Webhook超时中断?Cursor支付集成常见故障全解析,深度还原真实生产事故现场

支付回调验签失效?Webhook超时中断?Cursor支付集成常见故障全解析,深度还原真实生产事故现场

更多请点击: https://codechina.net 第一章:支付回调验签失效?Webhook超时中断?Cursor支付集成常见故障全解析,深度还原真实生产事故现场 某日凌晨两点,线上订单履约系统突现大量“已支付但未发货”告警—…

2026/10/8 1:20:35 阅读更多 →
酵母双杂交——核体系

酵母双杂交——核体系

酵母双杂交——核体系酵母双杂交技术背景酵母双杂交技术分为酵母核体系双杂交和酵母膜体系双杂交,二者均作为研究蛋白-蛋白互作的工具,具有简便、灵敏、可反映蛋白在活细胞内互作真实情况的特点,现广泛应用于互作蛋白的筛选、蛋白相互作用的验…

2026/10/14 9:13:45 阅读更多 →

最新新闻

Positron 的 McpClient 数据模型:stdio 桥接下编码 Agent 连接的结构化描述

Positron 的 McpClient 数据模型:stdio 桥接下编码 Agent 连接的结构化描述

开发工具代码编辑器数据科学 【免费下载链接】positron Positron, a next-generation data science IDE 项目地址: https://gitcode.com/gh_mirrors/po/positron 点击查看 免费下载 导读 本文围绕 Positron 开源仓库中由 OpenAPI 生成器产出的数据模型文档 McpCli…

2026/10/15 2:52:28 阅读更多 →
Fusion Pixel 12px Monospaced JP:12 像素网格上的泛 CJK 点阵等宽字体实战指南

Fusion Pixel 12px Monospaced JP:12 像素网格上的泛 CJK 点阵等宽字体实战指南

前端CLI开发工具 【免费下载链接】fontsource Self-host Open Source fonts in neatly bundled NPM packages. 项目地址: https://gitcode.com/gh_mirrors/fo/fontsource 点击查看 免费下载 Fusion Pixel 12px Monospaced JP 是 Fontsource 仓库中收录的一款泛 CJK…

2026/10/15 2:52:28 阅读更多 →
Apollo-11 系统工程启示:高可靠复杂系统的设计哲学与实操

Apollo-11 系统工程启示:高可靠复杂系统的设计哲学与实操

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/15 2:52:28 阅读更多 →
FastAPI与Jinja2模板引擎的高效Web开发实践

FastAPI与Jinja2模板引擎的高效Web开发实践

1. FastAPI与Jinja2模板引擎的黄金组合在Web开发领域,前后端分离架构盛行的今天,模板引擎依然保持着不可替代的地位。作为一名长期使用Python进行Web开发的工程师,我发现FastAPI与Jinja2的组合在需要服务端渲染的场景下表现尤为出色。Jinja2作…

2026/10/15 2:52:28 阅读更多 →
一台 150 美元的家用雕刻机,在 TikTok 美区月销 41 万美元

一台 150 美元的家用雕刻机,在 TikTok 美区月销 41 万美元

吃过晚饭之后,美国的手工爱好者都有一件躲不开的事,把一块木板卡进机器,再在手机上挑好图案,而这一下按下去,他们才肯从桌边走开。这个玩法在美区传了很多年,机器换过好几代,从大机器到能塞进背…

2026/10/15 2:52:28 阅读更多 →
OFDM MATLAB通信系统仿真程序:从跑通到跑对的完整链路与避坑指南

OFDM MATLAB通信系统仿真程序:从跑通到跑对的完整链路与避坑指南

简介:OFDM MATLAB通信系统仿真程序面向通信工程、电子信息类专业学生及无线通信算法入门者,帮助理解正交频分复用系统的完整收发链路与关键算法实现。资源包共30个文件,以25个m脚本为核心,辅以docx与doc说明文档、asv备份及tmp临时…

2026/10/15 2:51:28 阅读更多 →

日新闻

Docker Compose 容器化部署 ChirpStack LoRaWAN 网络服务器实战

Docker Compose 容器化部署 ChirpStack LoRaWAN 网络服务器实战

1. 为什么选择容器化方式部署 LoRa 网络服务LoRa 物联网项目落地时,网络服务器是整个链路的核心枢纽。它负责接收网关上报的数据包、完成去重与解密、再把有效载荷分发给上层应用。早期大家习惯把网络服务器直接装在物理机上,依赖一堆系统库和特定版本的…

2026/10/15 0:00:46 阅读更多 →
共享LLM服务下的跨模型自动扩缩容:Kubernetes实战与避坑指南

共享LLM服务下的跨模型自动扩缩容:Kubernetes实战与避坑指南

1. 共享推理服务里,扩缩容到底难在哪做过大模型推理服务部署的人,大概都经历过这样的场景:一个团队共用一套推理集群,A 业务跑的是 7B 的小模型,B 业务跑的是 72B 的大模型,C 业务白天流量高、晚上几乎归零…

2026/10/15 0:00:46 阅读更多 →
Systemd 启动阶段根文件系统只读之谜:fstab 与 remount-fs 服务深度解析

Systemd 启动阶段根文件系统只读之谜:fstab 与 remount-fs 服务深度解析

1. 引子:一次内核恐慌引发的追查先从一个真实场景说起。某次我给一台老旧的嵌入式设备折腾系统裁减,为了把启动时间压进两秒以内,我手贱地把一串自认为“没用”的 systemd 服务给 disable 了,其中就包括systemd-remount-fs.servic…

2026/10/15 0:00:46 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/14 3:30:28 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/14 16:30:29 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/14 3:29:58 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/15 0:14:36 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/14 22:45:47 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/14 7:53:34 阅读更多 →