Redis安装与配置

本文涉及的产品
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
云数据库 Tair(兼容Redis),内存型 2GB
日志服务 SLS,月写入数据量 50GB 1个月
简介: 分布式缓存之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存储的位置。

相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore &nbsp; &nbsp; ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库&nbsp;ECS 实例和一台目标数据库&nbsp;RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&amp;RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
目录
相关文章
|
6天前
|
存储 监控 NoSQL
NoSQL与Redis配置与优化
通过合理配置和优化Redis,可以显著提高其性能和可靠性。选择合适的数据结构、优化内存使用、合理设置持久化策略、使用Pipeline批量执行命令、以及采用分布式集群方案,都是提升Redis性能的重要手段。同时,定期监控和维护Redis实例,及时调整配置,能够确保系统的稳定运行。希望本文对您在Redis的配置与优化方面有所帮助。
42 23
|
7天前
|
存储 监控 NoSQL
NoSQL与Redis配置与优化
通过合理配置和优化Redis,可以显著提高其性能和可靠性。选择合适的数据结构、优化内存使用、合理设置持久化策略、使用Pipeline批量执行命令、以及采用分布式集群方案,都是提升Redis性能的重要手段。
28 7
|
14天前
|
NoSQL 关系型数据库 Redis
《docker高级篇(大厂进阶):1.Docker复杂安装详说》包括:安装mysql主从复制、安装redis集群
《docker高级篇(大厂进阶):1.Docker复杂安装详说》包括:安装mysql主从复制、安装redis集群
64 14
|
11天前
|
关系型数据库 MySQL 应用服务中间件
《docker基础篇:8.Docker常规安装简介》包括:docker常规安装总体步骤、安装tomcat、安装mysql、安装redis
《docker基础篇:8.Docker常规安装简介》包括:docker常规安装总体步骤、安装tomcat、安装mysql、安装redis
51 7
|
27天前
|
NoSQL 算法 Redis
docker高级篇(大厂进阶):安装redis集群
docker高级篇(大厂进阶):安装redis集群
100 24
|
20天前
|
NoSQL 关系型数据库 MySQL
Linux安装jdk、mysql、redis
Linux安装jdk、mysql、redis
151 7
|
2月前
|
NoSQL Linux PHP
如何在不同操作系统上安装 Redis 服务器,包括 Linux 和 Windows 的具体步骤
本文介绍了如何在不同操作系统上安装 Redis 服务器,包括 Linux 和 Windows 的具体步骤。接着,对比了两种常用的 PHP Redis 客户端扩展:PhpRedis 和 Predis,详细说明了它们的安装方法及优缺点。最后,提供了使用 PhpRedis 和 Predis 在 PHP 中连接 Redis 服务器及进行字符串、列表、集合和哈希等数据类型的基本操作示例。
86 4
|
3月前
|
NoSQL 数据可视化 Linux
redis学习四、可视化操作工具链接 centos redis,付费Redis Desktop Manager和免费Another Redis DeskTop Manager下载、安装
本文介绍了Redis的两个可视化管理工具:付费的Redis Desktop Manager和免费的Another Redis DeskTop Manager,包括它们的下载、安装和使用方法,以及在使用Another Redis DeskTop Manager连接Redis时可能遇到的问题和解决方案。
180 1
redis学习四、可视化操作工具链接 centos redis,付费Redis Desktop Manager和免费Another Redis DeskTop Manager下载、安装
|
2月前
|
存储 SQL 关系型数据库
2024Mysql And Redis基础与进阶操作系列(1)作者——LJS[含MySQL的下载、安装、配置详解步骤及报错对应解决方法]
Mysql And Redis基础与进阶操作系列(1)之[MySQL的下载、安装、配置详解步骤及报错对应解决方法]
|
3月前
|
存储 NoSQL Redis
Redis 配置
10月更文挑战第14天
48 1