Redis安装与配置

简介: 分布式缓存之RedisRedis简介redis是一个开源的、使用C语言编写的、支持网络交互的、可基于内存也可持久化的Key-Value数据库。redis的官网地址,非常好记,是redis.io。

分布式缓存之Redis

Redis简介

redis是一个开源的、使用C语言编写的、支持网络交互的、可基于内存也可持久化的Key-Value数据库。
redis的官网地址,非常好记,是redis.io。(特意查了一下,域名后缀io属于国家域名,是british Indian Ocean territory,即英属印度洋领地)目前,Vmware在资助着redis项目的开发和维护。

源码部署

[root@host ~]# cd /usr/local/src
[root@host src]# wget http://download.redis.io/releases/redis-3.2.2.tar.gz 
[root@host src]# tar zxf redis-3.2.2.tar.gz
[root@host src]# cd redis-3.2.2/
[root@host src]# tar zxf redis-3.2.2.tar.gz 
[root@host src]# cd redis-3.2.2
[root@host redis-3.2.2]# make PREFIX=/usr/local/redis install
[root@host redis-3.2.2]# cp utils/redis_init_script /etc/init.d/redis_6379 
[root@host redis-3.2.2]# chmod +x /etc/init.d/redis_6379
[root@host redis-3.2.2]# mkdir /etc/redis
[root@host redis-3.2.2]# cp redis.conf /etc/redis/6379.conf
[root@host redis-3.2.2]# /etc/init.d/redis-server start

redis配置详解

daemonize no默认情况下redis 不是以守护进程的模式运行。

pidfile /var/run/redis.pid在守护进程模式下,pid进程号文件路径的存储位置

port 6379监听的端口号,设置为0的话,redis不会对tcp 连接进行监听;

bind 127.0.0.1绑定本机单一网卡适配器,默认是本机的所有网络适配器

unixsocket /tmp/redis.sock
unixsocketperm 755默认情况下 redis 是不建立unix socket连接的;

timeout 0客户端空闲n秒后断开连接; 0 表示不主动断开连接;


tcp-keepalive 0

在linux上,每个一段时间发送 SO_KEEPALIVE ACK的空包;推荐值为60s;
这样做的两点理由:
1、阻止由于某个command执行过长达到timeout超时时间而被断开连接;
2、提高连接错误的检测
(对于长期空闲的tcp连接很容易被NAT、防火墙等直接close掉。这情况下对于client和server在没IO操作下,都是没办感知的。另外,像Server程序或网络(硬件)突然Crash掉,也是同样的情况。)
 使用keepalive,内核会定时帮你发送一个空的ACK包,如果连接已断开或网络不可达,就会收到RST。

loglevel notice记录日志的级别

  • debug:包含所有信息,主要用于开发环境中;
    -  verbose:相比debug 只显示有用信息;
    -  notice: 生产环境推荐配置
    -  warning: 只记录重要、错误信息和严重信息;

logfile stdout日志文件记录位置, 如果采用daemonize 守护进程的模式,且参数值为stdout,那logs会被重定向到/dev/null

syslog-enabled no将日志信息记录到 syslog 文件中。默认不允许;

syslog-facility local0  (必须是 LOCAL 0 -- LOCAL 7)作为syslog 的日志设备

databases 16数据库的数量, select dbid ; dbid  取值范围between 0 and 'databases'-1

RDB快照部分:

将内存中的数据刷写到磁盘上
save <seconds>  <changes> save 900 1 save 300 10 save 60 10000

符合以上条件的就刷新磁盘上:
900秒(15分钟)之后,且至少1次变更
300秒(5分钟)之后,且至少10次变更
60秒之后,且至少10000次变更
(我一直怀疑数据会丢失多少?丢失几秒的?)
不刷写到磁盘上的话,直接 save "" 就可以。

stop-writes-on-bgsave-error yes默认情况下,如果在RDB snapshots持久化过程中出现问题,设置该参数后,Redis是不允许用户进行任何更新操作(set...)。避免人为强制停止redis 快照,如果采用良好的监控系统,那么可以将该参数设置为 no
可能出现的错误信息:

MISCONF Redis is configured to save RDB snapshots, but is currently not able to persist on disk. Commands that may modify the data set are disabled. Please check Redis logs for details about the error.

rdbcompression yes  在导出.RDB数据库文件的时候采用LZF压缩字符串和对象。想节省一些CPU资源可以设置为no,但数据量可能会很大。

rdbchecksum yesRDB快照制作过程中会在文件的末尾写入 crc64的校验值。这样可能很好的保证数据的正确性。代价是在 saving 或者 loading RDB file 的时候,性能下降10%(待测试);如果仅用该选项的话,文件末尾的校验值会用0代替,这样在loading data 的时候,会跳过check。

dbfilename dump.rdb快照文件名
dir ./DB工作目录,必须是目录名,dumpfile存储的位置。

目录
相关文章
|
5月前
|
关系型数据库 应用服务中间件 nginx
Docker一键安装中间件(RocketMq、Nginx、MySql、Minio、Jenkins、Redis)
本系列脚本提供RocketMQ、Nginx、MySQL、MinIO、Jenkins和Redis的Docker一键安装与配置方案,适用于快速部署微服务基础环境。
|
2月前
|
缓存 负载均衡 监控
135_负载均衡:Redis缓存 - 提高缓存命中率的配置与最佳实践
在现代大型语言模型(LLM)部署架构中,缓存系统扮演着至关重要的角色。随着LLM应用规模的不断扩大和用户需求的持续增长,如何构建高效、可靠的缓存架构成为系统性能优化的核心挑战。Redis作为业界领先的内存数据库,因其高性能、丰富的数据结构和灵活的配置选项,已成为LLM部署中首选的缓存解决方案。
|
2月前
|
NoSQL 算法 Redis
【Docker】(3)学习Docker中 镜像与容器数据卷、映射关系!手把手带你安装 MySql主从同步 和 Redis三主三从集群!并且进行主从切换与扩容操作,还有分析 哈希分区 等知识点!
Union文件系统(UnionFS)是一种**分层、轻量级并且高性能的文件系统**,它支持对文件系统的修改作为一次提交来一层层的叠加,同时可以将不同目录挂载到同一个虚拟文件系统下(unite several directories into a single virtual filesystem) Union 文件系统是 Docker 镜像的基础。 镜像可以通过分层来进行继承,基于基础镜像(没有父镜像),可以制作各种具体的应用镜像。
497 5
|
8月前
|
NoSQL 数据可视化 关系型数据库
安装 Redis
本文主要介绍了Linux系统下Redis的安装步骤,包括卸载旧版本、下载新版本、编译安装以及配置启动等详细操作,并解释了Redis默认端口6379的由来。同时,文章还简要说明了Windows环境下Redis的下载与服务安装方法。最后,推荐了几款Redis可视化管理工具,如RedisView、QuickRedis、AnotherRedisDesktopManager和RedisPlus,提供了它们的功能特点及下载链接,方便用户根据需求选择合适的工具进行数据库管理。
601 1
|
5月前
|
NoSQL 安全 Linux
设置Redis在CentOS7上的自启动配置
这些步骤总结了在CentOS 7系统上设置Redis服务自启动的过程。这些命令提供了一个直接且明了的方式,确保Redis作为关键组件在系统启动时能自动运行,保障了依赖于Redis服务的应用的稳定性和可用性。
498 9
|
7月前
|
消息中间件 NoSQL Linux
Redis的基本介绍和安装方式(包括Linux和Windows版本),以及常用命令的演示
Redis(Remote Dictionary Server)是一个高性能的开源键值存储数据库。它支持字符串、列表、散列、集合等多种数据类型,具有持久化、发布/订阅等高级功能。由于其出色的性能和广泛的使用场景,Redis在应用程序中常作为高速缓存、消息队列等用途。
932 16
|
7月前
|
JSON NoSQL Redis
在Rocky9系统上安装并使用redis-dump和redis-load命令的指南
以上步骤是在Rocky9上使用redis-dump和redis-load命令顺利出行的秘籍。如果在实行的过程中,发现了新的冒险和挑战,那么就像一个勇敢的航海家,本着探索未知的决心,解决问题并前进。
257 14
|
9月前
|
NoSQL Ubuntu 网络安全
在 Ubuntu 20.04 上安装和配置 Redis
在 Ubuntu 20.04 上安装和配置 Redis 的步骤如下:首先更新系统包,然后通过 `apt` 安装 Redis。安装后,启用并启动 Redis 服务,检查其运行状态。可选配置包括修改绑定 IP、端口等,并确保防火墙设置允许外部访问。最后,使用 `redis-cli` 测试 Redis 功能,如设置和获取键值对。
429 1
|
9月前
|
NoSQL Java Redis
微服务——SpringBoot使用归纳——Spring Boot 中集成Redis——Redis 安装
本教程介绍在 VMware 虚拟机(CentOS 7)或阿里云服务器中安装 Redis 的过程,包括安装 gcc 编译环境、下载 Redis(官网或 wget)、解压安装、修改配置文件(如 bind、daemonize、requirepass 等设置)、启动 Redis 服务及测试客户端连接。通过 set 和 get 命令验证安装是否成功。适用于初学者快速上手 Redis 部署。
274 0
|
11月前
|
存储 监控 NoSQL
NoSQL与Redis配置与优化
通过合理配置和优化Redis,可以显著提高其性能和可靠性。选择合适的数据结构、优化内存使用、合理设置持久化策略、使用Pipeline批量执行命令、以及采用分布式集群方案,都是提升Redis性能的重要手段。同时,定期监控和维护Redis实例,及时调整配置,能够确保系统的稳定运行。希望本文对您在Redis的配置与优化方面有所帮助。
194 23