Redis单机系列文章--1.Redis单机的安装和配置(含视频)

本文涉及的产品
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
云数据库 Tair(兼容Redis),内存型 2GB
简介:  转载请注明出处哈:http://carlosfu.iteye.com/blog/2240426     一、Redis单机下载、编译、安装:   cd /opt/soft wget http://download.

 转载请注明出处哈:http://carlosfu.iteye.com/blog/2240426


   

一、Redis单机下载、编译、安装:

 

cd /opt/soft
wget http://download.redis.io/releases/redis-3.0.4.tar.gz
tar xzf redis-3.0.4.tar.gz
ln -s /opt/soft/redis-3.0.4 /opt/soft/redis
cd redis
make
make install 

   

    三点注意一下:

1. make install可以将redis的一些命令放到/usr/local/bin, 之后就不需要全路径执行redis命令了,例如可以在任意目录执行redis-cli。
2. 通常为了升级方便,我们建立一个软连接,以后所有操作都针对这个软连接。
3. 通常redis我们选择最新的release版本。

 

二、Redis单机-启动服务器、客户端连接、关闭服务器:

1. 启动服务器

 

redis-server

    

    默认使用redis目录下的redis.conf作为配置文件,默认端口是6379, daemonize为no(非守护进程),所以启动时候会看到如下日志:

    

15193:C 16 Sep 10:12:00.558 # Warning: no config file specified, using the default config. In order to specify a config file use redis-server /path/to/redis.conf
                _._                                                  
           _.-``__ ''-._                                             
      _.-``    `.  `_.  ''-._           Redis 3.0.4 (00000000/0) 64 bit
  .-`` .-```.  ```\/    _.,_ ''-._                                   
 (    '      ,       .-`  | `,    )     Running in standalone mode
 |`-._`-...-` __...-.``-._|'` _.-'|     Port: 6379
 |    `-._   `._    /     _.-'    |     PID: 15193
  `-._    `-._  `-./  _.-'    _.-'                                   
 |`-._`-._    `-.__.-'    _.-'_.-'|                                  
 |    `-._`-._        _.-'_.-'    |           http://redis.io        
  `-._    `-._`-.__.-'_.-'    _.-'                                   
 |`-._`-._    `-.__.-'    _.-'_.-'|                                  
 |    `-._`-._        _.-'_.-'    |                                  
  `-._    `-._`-.__.-'_.-'    _.-'                                   
      `-._    `-.__.-'    _.-'                                       
          `-._        _.-'                                           
              `-.__.-'                                               

15193:M 16 Sep 10:12:00.563 # WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128.
15193:M 16 Sep 10:12:00.564 # Server started, Redis version 3.0.4
15193:M 16 Sep 10:12:00.564 # WARNING overcommit_memory is set to 0! Background save may fail under low memory condition. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect.
15193:M 16 Sep 10:12:00.564 * DB loaded from disk: 0.000 seconds
15193:M 16 Sep 10:12:00.564 * The server is now ready to accept connections on port 6379

 

2. 客户端连接:

 

$ redis-cli
redis> set company xxx
OK
redis> get company
"xxx"

   

    注意:

redis-cli通常的连接方法是redis-cli -h 10.10.10.11 -p 6380
如果直接执行redis-cli,默认执行的是redis-cli -h 127.0.0.1 -p 6379

 

 

3. 关闭服务器:(不要用kill -9)

   

$ redis-cli
redis> shutdown 

   

   注意:

我们一般使用shutdown/kill命令优雅的关闭redis.
紧急情况使用kill -9

 

三、Redis使用配置文件启动(redis配置很多,这里只说明一些常用的)

1. Redis配置

(1). 总体配置
配置名 含义 默认值 可选值 是否可以动态修改(config set)
daemonize 是否守护进程 no yes|no 不可以
port 端口号 6379 其他可用端口 不可以
timeout 客户端闲置多少秒后关闭连接 默认为0,永不关闭   可以
tcp-keepalive 检测客户端是否健康周期(秒) 默认为0, 不检测   可以
loglevel redis日志级别 notice debug|verbose|notice|warning 可以
logfile 日志文件名   不可以
databases 可用的数据库数 16 0-15 不可以

 

(2). 最大内存以及策略:
配置名 含义 默认值 可选值 是否可以动态修改(config set)
maxmemory 室内最大可用内存 不使用该配置,也就对内存使用无限制 建议规定最大只存 可以
maxmemory-policy 内存不够时,淘汰策略 volatile-lru 见下面 可以

其他maxmemory-policy:

  • volatile-lru -> 用lru算法删除过期的键值
  • allkeys-lru -> 用lru算法删除所有键值
  • volatile-random -> 随机删除过期的键值
  • allkeys-random -> 随机删除任何键值
  • volatile-ttl -> 删除最近要到期的键值
  • noeviction -> 不删除键,只返回一个错误

 

 

(3). AOF相关
配置名 含义 默认值 可选值 是否可以动态修改(config set)
appendonly 是否开启aof持久化模式 no   可以
appendfsync aof同步磁盘频率 everysec  always|everysec|no 可以
appendfilename aof文件名 appendonly.aof   不可以
no-appendfsync-on-rewrite

设置为yes表示rewrite期间对新写操作不fsync,暂时存在内存中,等rewrite完成后再写入

no no|yes 可以
auto-aof-rewrite-min-size 触发rewrite的aof文件最小阀值 64m    可以
auto-aof-rewrite-percentage Redis重写aof文件的比例条件 100   可以 

 

(4). RDB
配置名

含义

默认值 可选值 是否可以动态修改(config set)
save

rdb保存条件

save 900 1
save 300 10
save 60 10000
如果没有该配置,代表不适用rdb 可以
dbfilename rdb文件名 dump.rdb  dump-${port}.rdb 可以
rdbcompression rdb文件是否压缩 yes yes|no 可以
rdbchecksum rdb文件是否使用校验和 yes yes|no 可以
dir redis工作目录 当前目录  指定目录 可以 

 

(5). 慢查询配置
配置名 含义 默认值 可选值 是否可以动态修改(config set)
slowlog-log-slower-than 慢查询被记录的阀值(单位微秒) 10000   可以
slowlog-max-len 最多记录慢查询的条数 128   可以

 

(6). 数据结构优化配置:
配置名 含义 默认值 可选值 是否可以动态修改(config set)
hash-max-ziplist-entries hash数据结构优化参数 512   可以
hash-max-ziplist-value hash数据结构优化参数 64   可以
list-max-ziplist-entries list数据结构优化参数 512   可以
list-max-ziplist-value list数据结构优化参数 64   可以
set-max-intset-entries set数据结构优化参数 512   可以
zset-max-ziplist-entries zset数据结构优化参数 128   可以
zset-max-ziplist-value zset数据结构优化参数 64   可以

 

2. 使用配置启动redis单机:

redis> redis-server redisConfigFilePath
注意:
我们一般在redis目录下,建立conf目录,将redis目录下的redis.conf拷贝进去,进行修改作为新的配置文件。

 

四、视频:

 

 

相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore     ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
相关文章
|
1月前
|
存储 SQL 关系型数据库
2024Mysql And Redis基础与进阶操作系列(1)作者——LJS[含MySQL的下载、安装、配置详解步骤及报错对应解决方法]
Mysql And Redis基础与进阶操作系列(1)之[MySQL的下载、安装、配置详解步骤及报错对应解决方法]
|
2月前
|
存储 NoSQL Redis
Redis 配置
10月更文挑战第14天
26 1
|
2月前
|
NoSQL Ubuntu Linux
Redis 安装
10月更文挑战第14天
57 1
|
20天前
|
NoSQL 编译器 Linux
【赵渝强老师】Redis的安装与访问
本文基于Redis 6.2版本,详细介绍了在CentOS 7 64位虚拟机环境中部署Redis的步骤。内容包括安装GCC编译器、创建安装目录、解压安装包、编译安装、配置文件修改、启动服务及验证等操作。视频讲解和相关图片帮助理解每一步骤。
|
2月前
|
NoSQL Linux Redis
Docker学习二(Centos):Docker安装并运行redis(成功运行)
这篇文章介绍了在CentOS系统上使用Docker安装并运行Redis数据库的详细步骤,包括拉取Redis镜像、创建挂载目录、下载配置文件、修改配置以及使用Docker命令运行Redis容器,并检查运行状态和使用Navicat连接Redis。
274 3
|
2月前
|
存储 缓存 NoSQL
数据的存储--Redis缓存存储(一)
数据的存储--Redis缓存存储(一)
83 1
|
2月前
|
消息中间件 缓存 NoSQL
Redis 是一个高性能的键值对存储系统,常用于缓存、消息队列和会话管理等场景。
【10月更文挑战第4天】Redis 是一个高性能的键值对存储系统,常用于缓存、消息队列和会话管理等场景。随着数据增长,有时需要将 Redis 数据导出以进行分析、备份或迁移。本文详细介绍几种导出方法:1)使用 Redis 命令与重定向;2)利用 Redis 的 RDB 和 AOF 持久化功能;3)借助第三方工具如 `redis-dump`。每种方法均附有示例代码,帮助你轻松完成数据导出任务。无论数据量大小,总有一款适合你。
78 6
|
19天前
|
缓存 NoSQL 关系型数据库
大厂面试高频:如何解决Redis缓存雪崩、缓存穿透、缓存并发等5大难题
本文详解缓存雪崩、缓存穿透、缓存并发及缓存预热等问题,提供高可用解决方案,帮助你在大厂面试和实际工作中应对这些常见并发场景。关注【mikechen的互联网架构】,10年+BAT架构经验倾囊相授。
大厂面试高频:如何解决Redis缓存雪崩、缓存穿透、缓存并发等5大难题
|
20天前
|
存储 缓存 NoSQL
【赵渝强老师】基于Redis的旁路缓存架构
本文介绍了引入缓存后的系统架构,通过缓存可以提升访问性能、降低网络拥堵、减轻服务负载和增强可扩展性。文中提供了相关图片和视频讲解,并讨论了数据库读写分离、分库分表等方法来减轻数据库压力。同时,文章也指出了缓存可能带来的复杂度增加、成本提高和数据一致性问题。
【赵渝强老师】基于Redis的旁路缓存架构
|
13天前
|
缓存 NoSQL PHP
Redis作为PHP缓存解决方案的优势、实现方式及注意事项。Redis凭借其高性能、丰富的数据结构、数据持久化和分布式支持等特点,在提升应用响应速度和处理能力方面表现突出
本文深入探讨了Redis作为PHP缓存解决方案的优势、实现方式及注意事项。Redis凭借其高性能、丰富的数据结构、数据持久化和分布式支持等特点,在提升应用响应速度和处理能力方面表现突出。文章还介绍了Redis在页面缓存、数据缓存和会话缓存等应用场景中的使用,并强调了缓存数据一致性、过期时间设置、容量控制和安全问题的重要性。
33 5