redis缓存数据库详解(一):config文件详解

《Redis系列》Redis详细部署教程及配置文件解读 1.Redis详细部署教程 2.Redis.conf配置文件解读。 阅读详情

作为一个稀有的Java妹子,所写的所有博客都只是当作自己的笔记,留下证据自己之前是有用心学习的~哈哈哈哈(如果有不对的地方,也请大家指出,不要悄悄咪咪的不告诉我)

1.redis是什么?

1.redis是一种可以高效存取的数据库,支持多种数据结构,比如字符串、集合、hash等等。
2.redis是把数据存放在内存里,从而使得数据的读写都是发生在内存里,速度十分的快,然后通过一定的机制持久化到磁盘。
3.虽然redis被叫做数据库,但是与mysql这种关系型数据库不同,redis的读写不是通过sql,而是通过其独有的方法设置的,所以redis也被成为是nosql数据库,还有许多nosql数据库,比如mongodb,memcached等等。
4.业务场景里有很多可以使用redis,比如点赞数,关注列表,粉丝列表等热点数据,还可以用来做分布式锁。

2.redis配置文件介绍

这里就跳过下载,可以自行去redis官网下载,下载后直接解压就可以了。
redis的配置文件是redis.config,打开配置文件,可以看到以下密密麻麻的属性值

################################# GENERAL #####################################

# 默认情况下 redis 不是作为守护进程运行的,如果你想让它在后台运行,你就把它改成 yes。
# 当redis作为守护进程运行的时候,它会写一个 pid 到 /var/run/redis.pid 文件里面。
daemonize no

# 当redis作为守护进程运行的时候,它会把 pid 默认写到 /var/run/redis.pid 文件里面,
# 但是你可以在这里自己制定它的文件位置。
pidfile /var/run/redis_6379.pid

# 定义日志级别。
# 可以是下面的这些值:
# debug (适用于开发或测试阶段)
# verbose (many rarely useful info, but not a mess like the debug level)
# notice (适用于生产环境)
# warning (仅仅一些重要的消息被记录)
loglevel notice

# 指定日志文件的位置
logfile ""

# 要想把日志记录到系统日志,就把它改成 yes,
# 也可以可选择性的更新其他的syslog 参数以达到你的要求
# syslog-enabled no

# 设置 syslog 的 identity。
# syslog-ident redis

# 设置 syslog 的 facility,必须是 USER 或者是 LOCAL0-LOCAL7 之间的值。
# syslog-facility local0

# 设置数据库的数目。
# 默认数据库是 DB 0,你可以在每个连接上使用 select <dbid> 命令选择一个不同的数据库,
# 但是 dbid 必须是一个介于 0 到 databasees - 1 之间的值
databases 16

################################## NETWORK #####################################

# 默认情况下,redis 在 server 上所有有效的网络接口上监听客户端连接。
# 你如果只想让它在一个网络接口上监听,那你就绑定一个IP或者多个IP。
#
# 示例,多个IP用空格隔开:
#
# bind 192.168.1.100 10.0.0.1
# bind 127.0.0.1
bind 0.0.0.0

# 监听端口号,默认为 6379,如果你设为 0 ,redis 将不在 socket 上监听任何客户端连接。
port 6379

# TCP 监听的最大容纳数量
#
# 在高并发的环境下,你需要把这个值调高以避免客户端连接缓慢的问题。
# Linux 内核会一声不响的把这个值缩小成 /proc/sys/net/core/somaxconn 对应的值,
# 所以你要修改这两个值somaxconn and tcp_max_syn_backlog才能达到你的预期。
tcp-backlog 511

# 指定在一个 client 空闲多少秒之后关闭连接(0 就是不管它)
timeout 0

################################ SNAPSHOTTING  ################################
#
# 存 DB 到磁盘:
#
#   格式:save <间隔时间(秒)> <写入次数>
#
#   根据给定的时间间隔和写入次数将数据保存到磁盘
#
#   下面的例子的意思是:
#   900 秒内如果至少有 1 个 key 的值变化,则保存
#   300 秒内如果至少有 10 个 key 的值变化,则保存
#   60 秒内如果至少有 10000 个 key 的值变化,则保存
#  
#   注意:你可以注释掉所有的 save 行来停用保存功能。
#   也可以直接一个空字符串来实现停用:
#   save ""

save 900 1
save 300 10
save 60 10000

# 默认情况下,如果 redis 最后一次的后台保存失败,redis 将停止接受写操作,
# 这样以一种强硬的方式让用户知道数据不能正确的持久化到磁盘,
# 否则就会没人注意到灾难的发生。
#
# 如果后台保存进程重新启动工作了,redis 也将自动的允许写操作。
#
# 然而你要是安装了靠谱的监控,你可能不希望 redis 这样做,那你就改成 no 好了。
stop-writes-on-bgsave-error yes

# 是否在 dump .rdb 数据库的时候使用 LZF 压缩字符串
# 默认都设为 yes
# 如果你希望保存子进程节省点 cpu ,你就设置它为 no ,
# 不过这个数据集可能就会比较大
rdbcompression yes

# 是否校验rdb文件
rdbchecksum yes

# 设置 dump 的文件位置
dbfilename dump.rdb

# 工作目录
# 例如上面的 dbfilename 只指定了文件名,
# 但是它会写入到这个目录下。这个配置项一定是个目录,而不能是文件名。
dir ./

################################## SECURITY ###################################

# 设置redis的连接密码,默认是没有密码的,但是实际中是需要设置的
# requirepass foobared

################################### CLIENTS ####################################

# 设置同时连接的最大客户端数。默认情况下此限制设置为10000个客户端
# 一旦达到最大限制,redis 将关闭所有的新连接
# 并发送一个‘max number of clients reached’的错误。
# maxclients 10000

############################## MEMORY MANAGEMENT ################################

# 如果你设置了这个值,当缓存的数据容量达到这个值, redis 将根据你选择的
# eviction 策略来移除一些 keys。
# 如果 redis 不能根据策略移除 keys ,或者是策略被设置为 ‘noeviction’,
# redis 将开始响应错误给命令,如 set,lpush 等等,
# 并继续响应只读的命令,如 get
# maxmemory <bytes>

############################## APPEND ONLY MODE ###############################

# 默认情况下,Redis在磁盘上异步转储数据集。这个模式是在很多应用程序中都足够好,但是Redis进程
#有问题,或者断电可能会导致几分钟的写操作丢失(取决于配置的保存点)。Append Only文件是另一种
#持久性模式,它提供更耐用。例如,使用默认的数据fsync策略(请参阅后面的配置文件)Redis在戏剧
#性的事件,比如服务器断电,或者如果发生了什么事情Redis进程本身会出错,但操作系统是仍然正常运
#行。可以同时启用AOF和RDB持久性,而不会出现问题。如果在启动时启用了AOF,Redis将加载AOF,即
#文件有更好的耐久性保证。
appendonly no

# 设置存放aof的文件名
appendfilename "appendonly.aof"

# 配置aof持久化数据策略,
# always:每次有数据修改发生时都会写入AOF文件(安全但是费时)
# everysec:每秒钟同步一次,该策略为AOF的缺省策略。
# no:从不同步。高效但是数据不会被持久化。
# appendfsync always
appendfsync everysec
# appendfsync no

# 主进程写入aof文件和当aof文件过大,自动重写两者都发生的时候,因为重写是把旧的文件重新
#写到新的文件中,涉及大量的磁盘操作,就会阻塞主线程的读写,该参数设为yes就是不同步数据,
#这样就可以保证redis的读写没有延迟,但可能会出现数据丢失的情况;设置为no就是当上述情况
#发生会有一点延迟,不过不会出现丢失数据的情况。
no-appendfsync-on-rewrite no

# 设置aof文件重写的条件
auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb

#aof文件有时会出现末尾被截断的情况,设置该参数为yes表示当启动redis加载aof文件时,不会报错,会一直加载到被截断的位置的所有数据到内存,设为no就是不能启动redis,必须使用“redis check AOF”实用程序修复AOF文件
aof-load-truncated yes

# When rewriting the AOF file, Redis is able to use an RDB preamble in the
# AOF file for faster rewrites and recoveries. When this option is turned
# on the rewritten AOF file is composed of two different stanzas:
#
#   [RDB file][AOF tail]
#
# When loading Redis recognizes that the AOF file starts with the "REDIS"
# string and loads the prefixed RDB file, and continues loading the AOF
# tail.
aof-use-rdb-preamble yes


############################### LUA SCRIPTING  ###############################

# lua脚本执行的最长时间,其设置为0或负值,以便在没有警告的情况下无限执行。
lua-time-limit 5000

################################ REDIS CLUSTER  ###############################

# 普通的Redis实例不能是Redis集群的一部分;需要将redis加入集群可以开启该属性
# cluster-enabled yes

# 每个群集节点都有一个群集配置文件。这个文件不是打算手工编辑。它由Redis节点创建和更新。
#每个Redis集群节点都需要不同的集群配置文件。确保在同一系统中运行的实例没有重叠的群集配置文件名。
# cluster-config-file nodes-6379.conf

# 节点多久没被连上将其设定为失效状态
# cluster-node-timeout 15000

# 当主节点出现故障时,设置副本节点进行故障转移的有效因子
# 为了获得最大的可用性,可以设置副本有效性因子值为0,这意味着副本将始终尝试故障转移不管他们最后一次和主人互动。
#零是唯一能够保证当所有分区恢复时群集将始终能够继续。
# cluster-replica-validity-factor 10

# Cluster replicas are able to migrate to orphaned masters, that are masters
# that are left without working replicas. This improves the cluster ability
# to resist to failures as otherwise an orphaned master can't be failed over
# in case of failure if it has no working replicas.
#
# Replicas migrate to orphaned masters only if there are still at least a
# given number of other working replicas for their old master. This number
# is the "migration barrier". A migration barrier of 1 means that a replica
# will migrate only if there is at least 1 other working replica for its master
# and so forth. It usually reflects the number of replicas you want for every
# master in your cluster.
#
# Default is 1 (replicas migrate only if their masters remain with at least
# one replica). To disable migration just set it to a very large value.
# A value of 0 can be set but is useful only for debugging and dangerous
# in production.
#
# cluster-migration-barrier 1

# By default Redis Cluster nodes stop accepting queries if they detect there
# is at least an hash slot uncovered (no available node is serving it).
# This way if the cluster is partially down (for example a range of hash slots
# are no longer covered) all the cluster becomes, eventually, unavailable.
# It automatically returns available as soon as all the slots are covered again.
#
# However sometimes you want the subset of the cluster which is working,
# to continue to accept queries for the part of the key space that is still
# covered. In order to do so, just set the cluster-require-full-coverage
# option to no.
#
# cluster-require-full-coverage yes

# 如果将此选项设置为“是”,则会阻止副本尝试对其进行故障转移
# cluster-replica-no-failover no

################################## SLOW LOG ###################################

# 慢日志时间设置,执行时间超过的会记录到慢日志中
slowlog-max-len 128
################################ LATENCY MONITOR ##############################

# Redis延迟监控子系统对不同的操作进行采样在运行时,以便收集与Redis实例的延迟。
# 默认情况下,延迟监视被禁用,因为大多数情况下不需要它
latency-monitor-threshold 0

############################# LAZY FREEING ####################################

# redis的删除有两种,一种是阻塞的,另一种是非阻塞的。默认的是阻塞的,del。在使用del删除数据时,服务器会把与之相关的都删除掉,这段时间是阻塞的,如果关联的数据很多可能会需要几秒的时间;非阻塞的有UNLINK等。
lazyfree-lazy-eviction no
lazyfree-lazy-expire no
lazyfree-lazy-server-del no
replica-lazy-flush no

3.redis的客户端和服务端

安装好后,进入解压后的目录,然后使用redis-server命令启动redis,启动后服务端就会显示以下的信息:注意:如果修改了配置文件,启动时一定要指定配置文件,不然修改的配置都不起效,redis-server redis.conf
在这里插入图片描述
然后再另外打开一个连接终端,输入redis-cli,连接刚才启动好的redis:
在这里插入图片描述

下一篇将会介绍redis的数据结构以及对应的命令。

使用wordpress插件Redis Object Cache进行多站缓存配置,加速网页访问 Redis Object Cache Pro 是,使用此插件它可以将数据库中的常用值缓存到内存当中,对于一些磁盘速度较慢的服务器来说,使用内存进行数据缓存的效果还是挺明显的。为例,没有装插件之前网站首页的sql查询数为85,装插件后查询数为40,效果显著提升。 阅读详情

相关推荐

WordPress网站太慢?配置Redis对象缓存与数据库缓存终极指南

还在为WordPress网站的数据库瓶颈和加载缓慢而烦恼吗?本篇教程将手把手教你如何配置Redis对象缓存和数据库缓存,让你的网站性能实现质的飞跃,轻松应对高并发。

Clownseven的博客 1159

Redis之 redis.conf配置文件

行家一出手,就知有没有,让一起学习redis.config配置文件。Redis 默认不是以守护进程的方式运行,可以通过该配置项修改,使用 yes 启用守护进程。当 Redis 以守护进程方式运行时,Redis 默认会把 pid 写入 /var/run/redis.pid 文件,可以通过 pidfile 指定。port 6379指定 Redis 监听端口,默认端口为 6379。

浩泽学编程的博客 5196

Redis的缓存优化案例

Redis的缓存优化案例

AtlantisChina 887

RedisConfig 配置文件

RedisConfig 配置文件

杜小舟的博客 3564

U-Net图像分割实战:从论文解析到PyTorch代码实现

本文深入解析了U-Net图像分割模型的经典架构与核心思想,并提供了从零开始的PyTorch代码实现教程。通过详细拆解编码器-解码器结构、跳跃连接等关键组件,手把手指导读者构建完整的U-Net网络,涵盖数据准备、模型训练、推理部署全流程,是掌握图像分割实战技能的实用指南。

fire9的博客 341

【超详细】安装了anaconda后,Ubuntu18+COLMAP配置疯狂踩坑踩至魔怔的记录

本博客收集了博主在Ubuntu18系统中编译COLMAP所遇到的困难,提供了解决方法,也收集了目前网上大多数的坑,除此之外,也为Ubuntu18系统下COLMAP的安装提供了一种新的路径。

Stay_Foo_lish的博客 3508

Redis——配置文件 redis.conf

INCLUDES包含 和我们的Struts2配置文件类似,可以通过includes包含,redis.conf可以作为总闸,包含其他 NETWORK网络 bind 指定redis只接收来自于该IP地址的请求,如果不进行设置,那么将处理所有请求 port 默认值:port 6379。指定redis运行的端口,默认是6379。 tcp-backlog 默认值:tcp-backlog 511。设置tcp的backlog,backlog其实是一个连接队列,backlog队列总和=未完成三次..

时光·漫步的博客 5908

手把手教你用RC桥式振荡器生成1Hz-1MHz正弦波(附完整电路图)

本文详细介绍了如何从零构建RC桥式振荡器,实现1Hz-1MHz正弦波的生成。通过核心元件选型、参数设计、电路搭建与优化等步骤,帮助读者掌握振荡器的工作原理和实战技巧。特别适合电子实验和信号处理领域的初学者和工程师,附完整电路图和常见问题解决方案。

weixin_30338481的博客 466

Redis.config 配置 深度剖析

好比string improt标签把其他东西导到这里 ,通俗 就是把多个配置文件 配置过来。打开 redis目录中 redis.conf配置。配置文件对 大小写不敏感。

. 1万+

CentOS7下Node.js v20+安装与常见依赖库问题解决指南

本文详细介绍了在CentOS7系统下安装Node.js v20+的完整流程及常见依赖库问题的解决方案。通过升级glibc到2.28+、配置环境变量以及处理libstdc++版本问题,帮助开发者顺利在老旧系统上部署最新版Node.js,提升开发效率。

weixin_30689307的博客 156

泛微Ecology9接口调用全流程:从配置到实战Java代码解析

本文详细解析了泛微Ecology9系统接口的完整调用流程,涵盖安全架构、服务端配置与客户端Java实战代码。重点阐述了基于RSA加密的认证机制、Token管理策略,并提供了企业级集成的核心代码示例与生产环境调优建议,帮助开发者安全、高效地实现系统对接。

m9n0o的博客 836

Laravel 使用 config/database.php 和 config/cache.php 文件来配置 Redis,到底为什么要在两个文件里面配置?

Laravel 在。

长风破浪会有时的博客 799

IPD(集成产品开发)管理之道

IPD,是集成产品开发(Integrated Product Development)的缩写,它是集成了众多管理模型和理论、众多企业最佳管理实践的一整套体系,可以帮助企业快速响应市场变化、缩短产品上市时间、减少资源浪费、提高生产力,最终取得商业成功。IPD的思想最早来源于美国PRTM公司出版的《产品及生命周期优化法》一书中,该书详细描述了IPD模式所包含的各个方面。但IPD在中国的普及,源于IBM和华为的推行使用。IPD作为一套先进的产品研发管理模式,其成功的基础是功能部门和各团队之间的密切配合。

钢镚·真的博客 2709

Redis:缓存

一个是查询操作,一个是更新操作的并发,首先,没有了删除cache数据的操作了,而是先更新了数据库中的数据,此时,缓存依然有效,所以,并发的查询操作拿的是没有更新的数据,但是,更新操作马上让缓存的失效了,后续的查询操作再把数据从数据库中拉出来。缓存空间是有限的,如果缓存空间满了,再往缓存里写数据时就会有额外开销,影响Redis性能。不是的,比如,一个是读操作,但是没有命中缓存,然后就到数据库中取数据,此时来了一个写操作,写完数据库后,让缓存失效,然后,之前的那个读操作再把老的数据放进去,所以,会造成脏数据。

m0_61088872的博客 1590

task5:在本地搭建大模型(ollama 和 LM studio 对比),接入 openclaw

关于大模型,大家千万不要想着在本地部署,根本不可行,没有那个财力。另外大模型迭代快,不可能每周都在下载大模型。再次,还是国外的模型好用,国内的模型真的在 deepresearch 上就有很大问题,你们懂的。所以本篇文章,还是聚焦在探索层面+实操,并不会实战。

这里是 AI 食用指南,持续分享有用的AI 实操和应用! 1968

嵌入式工程师成长之路(0)----认识元件

在电子设计与维修中,认识元件是成功的关键!面对琳琅满目的电阻、电容、电感与二极管,样子形式千奇百怪,你是否也曾陷入困难? 本文基于行业权威分类标准,结合十年工程师实战经验,深度解析4大类、30+子类电子元件的核心特性、应用场景与避坑指南,助你从“小白”秒变“电子高手”!

云轩阁 11万+

Redis数据备份与恢复、Redis config文件详解

Redis数据备份与恢复 备份数据 Redis SAVE 命令用于创建当前数据库的备份 基本语法 redis Save 命令基本语法如下: 一般我们用bgsave让其后台保存 redis 127.0.0.1:6379> SAVE 注: 该命令将在 redis 安装目录中创建dump.rdb文件。 你在哪里起的redis 这个文件就会在哪个目录下。 恢复数据 如果需要恢复数据,只需将备份文件 (dump.rdb) 移动到 redis 安装目录并启动服务即可。获取 redis 目录可以使用 CONFIG

chuang777的博客 825

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

redis在springboot中做缓存操作的两种方法

redis在springboot中做缓存操作的两种方法,包括区别,应用方法余实现的简单过程

2302_81298835的博客 2335

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

wordpress使用Redis Object Cache缓存加速

wordpress使用cdn后,静态资源被cdn缓存,起到部分加速作用,动态内容不能被cdn缓存,因此加速效果有限。即使通过rewrite设置伪静态,也不能避免wordpress查询数据库。因此文档中将动态内容存入redis作为缓存,加速访问。另外,redis作为内存型数据库,默认情况下有多少内存吃多少内存,不建议内存2G以下内存使用,否则可能起到反效果。具体过程如下:1,安装redis,如有可...

奇怪的老司机 3095

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

Redis 缓存刷新策略详解:不同场景下的缓存更新与优化

Redis 作为高性能的内存数据库,常常用于缓存数据以提高系统响应速度和减少后端数据库的压力。在缓存使用中,如何合理地刷新数据,是影响系统性能和一致性的重要因素之一。Redis 提供了多种缓存刷新策略,用于在不同场景下管理缓存数据的更新和淘汰。本文将深入探讨 Redis 缓存刷新策略的原理、应用场景以及如何在实际项目中选择适合的刷新策略。

lssffy的博客 1646

Springboot整合Redis作为Mybatis的二级缓存

文章转载声明:转载请附带原文链接 0. 环境准备 以下是我本机的环境: SpringBoot2.3.x Mybatis3.x Redis5.x 本机或者服务器中搭建好redis环境,并启动成功!这里我用的是阿里云学生机上部署的redis5.x IDEA2020.x ,Eclipse2020也是可以的,编辑器选择无所谓! 1. 新版本springboot和IDEA编辑器踩坑(可以直接跳过该章节,遇到类似的错误再回头看) 如果您在实操过程中,使用的是IDEA2020 和springboot2.3.x 版.

兴趣使然的草帽路飞 1万+

Redis 缓存中间件 缓存数据库

Redis 远程字典服务器键值对开源的,C语言写的nosql数据库。Redis基于内存运行,所有的数据不是保存到硬盘,而是内存。持久化: 定期或者人为的把数据保存到硬盘上安装步骤:lsmake -j 4cd utils/#4次回车,输入安装目录/usr/local/redis/bin/redis-server#70行加入自己本机的地址。

qq_52448810的博客 1211

orchagent如何保障config_db与asic_db一致性

作为 SONiC 网络操作系统中的核心进程,负责充当管理平面(以 为数据源)与数据平面(以 为目标)之间的“协调器”,其确保两者状态一致性的关键在于一个基于事件的异步处理管道和状态机模型。核心机制如下表所示:[ref_id: 1]一致性流程始于配置变更。当用户或上层应用通过 CLI(如 )或 REST API 修改网络配置时,变更被写入 。 并非轮询数据库,而是通过 Redis 的 Pub/Sub (发布/订阅) 机制实时获知变更[ref_id: 1]。具体流程如下:这个过程确保了从配置到感知的低延迟,

welcomecyy的专栏 418

Laravel 下配置缓存、Session 使用不同的 Redis 数据库

Laravel中session默认使用file存储,如果设置session为redis存储,那么Laravel 将使用数据库 0 作为缓存和 Session 的存储。可通过 /config/database.php 文件查看: Redis 服务默认会提供 16 个数据库。但为了安全性,最好修改一下设置,因为执行命令 php artisan cache:clear 会把 S

qq_34635855的博客 1576

TTL 在 Redis 缓存中的作用

TTL(TimeToLive,生存时间)是Redis提供的一种自动过期机制,用于控制键值对的存活时间。当TTL到期后,Redis会自动删除该键,避免长期占用内存。这对于缓存系统来说至关重要,因为它能够有效防止缓存过载,并确保数据的一致性和实时性。

maply的博客 2798

Python 框架学习 Django篇 (十) Redis 缓存

既然 Hash 本身就是一个字典,我们通常还会把整个用户表都直接放入一个hash里面可以给这个hash对应的对象 起一个key名为 usertable#添加表数据hmset usertable u2001 id:2001|level:10|coin:1977|name:张三hmset usertable u2002 id:2002|level:13|coin:1927|name:李四#查询表数据。

默子昂 2513
上一篇: Spring的AOP详解
下一篇: redis缓存数据库详解(二):redis的数据结构及基础命令
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值