`
san_yun
  • 浏览: 2654748 次
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论

redis 安装 配置解析

 
阅读更多

一、 下载安装

 

Wget http://redis.googlecode.com/files/redis-2.2.7.tar.gz

 

二、.安装部署

 

tar zxvf 
redis-2.2.7.tar.gz
cd redis-2.2.7.tar.gz
make

 可以将redis.conf 复制到 /etc/下

 

cp redis.conf /etc/
cp src/redis-server  src/redis-cli src/redis-benchmark /usr/local/redis
 

启动redis

redis-server /duitang/dist/conf/redis/redis_session.conf

 

 

三、 配置文件

vim /etc/redis.conf

1.redis 的配置文件单位比较有意思,对1k 和1kb 这样的单位做了明确的区分,不过感觉意义不是很大。
# 1k => 1000 bytes
# 1kb => 1024 bytes
# 1m => 1000000 bytes
# 1mb => 1024*1024 bytes
# 1g => 1000000000 bytes
# 1gb => 1024*1024*1024 bytes
而且,单位不区分大小写,1M = 1m

2.daemonize no

默认下,redis启动不以守护进程的方式启动,生产环境下建议将配置改为yes

3.pidfile /var/run/redis.pid,pid文件,没啥好说的
4.port 6379,配置redis端口,默认6379。可以将port配置为0,此时不监听tcp协议,有些怪怪的。
5.bind 127.0.0.1,绑定ip。默认绑定所有本机ip,一般用在服务器多ip下,可以只监听内网服务器ip,保证服务安全。
6.unixsocket /tmp/redis.sock。sock文件
7.timeout 300。客户端超时时间,单位秒
8.loglevel verbose
log级别,支持四个级别,debug,notice,verbose,warning
9.logfile  log文件路径
logfile stdout,log输出到标准设备,logs不写文件,输出到空设备,/deb/null
10.SNAPSHOTTING  快照,持久化相关
save <seconds> <changes>
save 900 1
保存快照的频率,表示:在多长时间内执行一定数量的写操作时,保存快照的频率,可以设置多个条件。如果都注释掉,则不做内存数据持久化。本环境就是把redis只用作cache,不开启持久化功能。

rdbcompression:是否使用压缩
dbfilename:快照数据库名称
dir:#数据库存放路径

11.  REPLICATION 主从配置(配置从服务器)
slaveof <masterip> <masterport>: 主库ip 端口
masterauth <master-password>:主库服务器口令,如果主服务器未打开requirepass,怎不需要此项
slave-serve-stale-data yes:在master服务器挂掉或者同步失败时,从服务器是否继续提供服务。
12.########## SECURITY ########
安全相关

requirepass foobared:设置redis服务密码,如果开启,则客户端连接时需要 -a  指定密码,否则操作会提示无权限

 

redis> set dd dd
(error) ERR operation not permitted

 

rename-command : 命令改名,相当于linux  alias
可以用改功能屏蔽一些危险命令
如rename-command CONFIG ""。别名为空就可。

13.LIMITS

maxclients 128:最大连接数;0 表示不限制

maxmemory <bytes> : 最大使用内存,推荐生产环境下做相应调整,我们用的是只用来做高速缓存,限制2G。默认情况下,redis会占用可用的所有内存。

 

maxmemory-policy volatile-lru: 过期策略,提供六种策略
[b][color=red]volatile-lru:删除过期和lru 的key(默认值)[/color][/b]
allkeys-lru : 删除lru算法的key
volatile-random:随机删除即将过期key
allkeys->random:随机删除(这个真傻)
volatile-ttl : 删除即将过期的
noeviction : 永不过期,返回错误(也比较傻)

maxmemory-samples 3: 不是很明白,说是校验 lru ttl 算法准确性的。


14.APPEND ONLY MODE
appendonly:#是否开启appendonlylog,开启的话每次写操作会记一条log。相当于mysql的binlog;不同的是,每次redis启动都会读此文件构建完整数据。即使删除rdb文件,数据也是安全的。

appendfilename appendonly.aof:日志文件的名称,默认appendonly.aof
appendfsync:异步写append file 的策略。类似mysql事物log写方式。三种
appendfsync always:同步,每次写都要flush到磁盘,安全,速度慢。
appendfsync everysec :每秒写(默认值,推荐值)同mysql
appendfsync no:交给操作系统去做flush的动作

no-appendfsync-on-rewrite no:不是很清楚,防止linux阻止长耗时io问题的?

15 VIRTUAL MEMORY ,虚拟内存设置

vm-enabled no : 虚拟内存开关
vm-swap-file /tmp/redis.swap: swap文件,不同redis swap文件不能共享。而且生产环境下,不建议放在tmp目录。
vm-max-memory 0: vm大小限制。0:不限制,建议60-80% 可用内存大小。
vm-page-size 32 : 根据缓存内容大小调整,默认32字节。
vm-pages 134217728 : page数。每 8 page,会占用1字节内存。
vm-page-size * vm-pages 等于 swap 文件大小
vm-max-threads 4 : vm 最大io线程数。注意: 0 标志禁止使用vm(开关真多)

16.ADVANCED CONFIG ,高级配置

hash-max-zipmap-entries 512
hash-max-zipmap-value 64

list-max-ziplist-entries 512
list-max-ziplist-value 64
set-max-intset-entries 512
activerehashing yes

 

完整的例子

daemonize yes 	#默认下,redis启动不以守护进程的方式启动,生产环境下建议将配置改为yes 
pidfile /duitang/data/work/redis_session.pid  #pid文件,没啥好说的 
port 6389				#配置redis端口,默认6379。
timeout 300				#客户端超时时间,单位秒 
bind 192.168.172.14
loglevel notice			#支持四个级别,debug,notice,verbose,warning 
logfile /duitang/logs/sys/redis_session.log
databases 6
save 900 1				#保存快照的频率,表示在多长时间内执行一定数量的写操作时,保存快照的频率,可以设置多个条件。如果都注释掉,则不做内存数据持久化。
maxclients 0			#最大连接数;0 表示不限制 
maxmemory 10gb			#最大内存量,该选项是告诉Redis当使用了多少物理内存后就开始拒绝后续的写入请求,该参数能很好的保护好你的Redis不会因为使用了过多的物理内存而导致swap,最终严重影响性能甚至崩溃。
rdbcompression yes		#是否使用压缩 
dbfilename session.rdb	#快照数据库名称 
dir /duitang/data/redis_session/	#数据库存放路径 
slave-serve-stale-data yes			#在master服务器挂掉或者同步失败时,从服务器是否继续提供服务。 
appendonly no						#是否开启appendonlylog,开启的话每次写操作会记一条log,相当于mysql的binlog,写性能会变差,建议关掉。
appendfsync no			#异步写append file 的策略。类似mysql事物log写方式。三种 appendfsync always:同步,每次写都要flush到磁盘,安全,速度慢; appendfsync everysec :每秒写(默认值,推荐值)同mysql;appendfsync no:交给操作系统去做flush的动作;
no-appendfsync-on-rewrite yes	#进行rewrite时,是否需要fsync。rewrite是指当AOF很大的时候,通过重写内存的数据来删除原来的AOF文件,生成最新的内存数据的AOF日志
slowlog-log-slower-than 10000
slowlog-max-len 1024
vm-enabled no 			#不要开启Redis的VM选项,即虚拟内存功能,这个本来是作为Redis存储超出物理内存数据的一种数据在内存与磁盘换入换出的一个持久化策略,但是其内存管理成本也非常的高,并且我们后续会分析此种持久化策略并不成熟,所以要关闭VM功能
vm-swap-file /duitang/data/work/redis_session.swap
vm-max-memory 0
vm-page-size 64
vm-pages 268435456		 
vm-max-threads 8		#vm 最大io线程数。注意: 0 标志禁止使用vm(开关真多)
hash-max-zipmap-entries 4096
hash-max-zipmap-value 4096
list-max-ziplist-entries 4096
list-max-ziplist-value 4096
set-max-intset-entries 4096
activerehashing yes
zset-max-ziplist-entries 4096
zset-max-ziplist-value 4096
~                            

 

分享到:
评论

相关推荐

    redis 安装过程解析

    ### Redis安装过程解析 Redis(Remote Dictionary Server)是一款开源的、使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。它通常用于实现高性能的数据存储...

    redis安装配置文档

    以下是对Redis安装配置文档的详细解析: ### 一、Linux环境下Redis的安装 1. **选择安装路径**:在Linux系统中,通常会选择一个合适的目录来存放软件,例如 `/home/admin`。 2. **下载Redis安装包**:通过`wget`...

    redis安装配置.zip

    Redis是一个开源的、高性能的键值对存储数据库,常用于缓存、消息发布/订阅等场景。下面将详细解析Redis的安装配置过程,包括在Windows和Linux系统上的操作。

    redis配置的文档

    配置文件是控制 Redis 行为的关键,以下将详细解析 Redis 配置文档中提到的一些重要选项。 1. **守护进程运行 (daemonize)**: `daemonize yes` 意味着 Redis 将在后台作为守护进程运行,不占用终端窗口。 2. **PID...

    redis 配置说明文件

    以下是对Redis配置文件的详细解析: 1. **守护进程设置** (`daemonize`) 默认情况下,Redis不会以守护进程(daemon)模式运行。如果需要在后台运行Redis,可以将`daemonize`配置项设置为`yes`。当Redis作为守护...

    通过RedisTemplate连接多个Redis过程解析

    "通过RedisTemplate连接多个Redis过程解析" 本文主要介绍了通过RedisTemplate连接多个Redis过程解析,详细介绍了使用SpringBoot提供的spring-boot-starter-data-redis工具包连接多个Redis数据库的过程。 首先,在...

    springMvc Mybatis redis 配置开发案例

    1. **配置Redis**: 在Spring配置文件中添加Redis连接池配置,如JedisConnectionFactory和RedisTemplate,定义Redis服务器地址、端口等。 2. **Spring Data Redis**: 使用Spring Data Redis模块,可以方便地通过...

    Redis配置参数详解

    ### Redis配置参数详解 Redis是一种高性能的键值对存储系统,广泛应用于缓存、消息队列等...通过以上对Redis配置参数的详细解析,我们可以更加全面地了解如何根据实际需求调整Redis的配置,从而提升其性能和稳定性。

    redis 配置详细介绍

    Redis配置文件通常为`redis.conf`,它是Redis服务器启动时读取的主要配置文件。配置文件中的选项覆盖了Redis的各个方面,包括服务器端口、数据持久化、内存管理、安全控制、日志记录以及客户端限制等。下面将逐一...

    Redis开发环境配置.pdf

    为了搭建Redis开发环境,需要进行Redis的安装和配置。在Windows平台下,下载Redis安装包,解压后,将文件夹重新命名为redis,并将其路径添加到系统的环境变量中,以便于后续的操作。在Linux平台下,可以使用wget命令...

    cent OS7无网络安装redis

    - `tcl-8.5.13-8.el7.x86_64.rpm`:TCL(Tool Command Language)是一种解释型编程语言,某些版本的Redis配置工具可能需要。 - `glibc-devel-2.17-317.el7.x86_64.rpm`:GLIBC(GNU C Library)的开发库,包含...

    Redis源码解析

    通过对Redis源码的深入解析,我们可以了解到其高性能背后的实现细节,这对于优化Redis配置、解决性能问题以及开发自定义模块具有重要意义。无论是运维人员还是开发人员,理解Redis的源码都能显著提升在使用Redis时的...

    Redis安装管理2016

    根据提供的文档信息,本文将详细解析Redis的安装与管理过程,并深入探讨其配置文件与命令行操作的关键知识点。 ### 一、Redis安装解析 #### 1.1 安装配置 1. **下载Redis** - 下载地址:`wget ...

    redis配置文件详解

    ### Redis配置文件详解 Redis是一种开源的键值存储系统,具备高性能的特点,通常被当作内存存储系统或内存数据库使用。由于其支持多种复杂的数据结构,也被视为一种数据结构服务器。Redis配置文件`redis.conf`控制...

    09_redis服务器配置.pdf

    根据提供的文件内容,我们可以详细解析Redis的几个基础配置知识点。 首先,Redis服务器的基本配置中,"daemonize"指令用于指定Redis是否在后台运行。将此值设为"yes"表示Redis将在后台运行,而设为"no"则表示Redis...

    Redis新版本(v6.0及之后)的安装配置图文教程.pdf

    Redis新版本(v6.0及之后)在Linux系统下的安装与配置流程涉及一系列详细步骤,其中包括软件包的下载、解压、编译、依赖问题解决以及测试验证。下面我们根据提供的内容逐一详细解析这些知识点。 首先,安装Redis新...

    redis+session配置

    - **安装Redis服务器**:在服务器上安装并运行Redis,确保其可以正常工作。 - **修改Tomcat配置**:在Tomcat的`conf/context.xml`或`webapp/WEB-INF/web.xml`中配置RedisSessionManager,包括Redis服务器的地址、...

    redis简单介绍及安装部署原理.doc

    安装Redis通常涉及下载源码,编译安装,配置文件设置,以及启动服务。在伪分布式环境下,可以通过配置多个实例在同一台机器上运行,模拟多服务器环境。 4. Redis 数据类型 - **String**:基础的键值对,支持整数...

Global site tag (gtag.js) - Google Analytics