redis 单实例安装

单实例安装

近些年,由于内存技术的提升、造价的下降,越来越多企业的服务器内存已增加到几百G。这样的内存容量给了内存数据库一个良好的发展环境。 而使用Redis是内存数据库的一股清流,渐有洪大之势。下面就来接触下redis。从安装开始。

1.1 安装

1.1.1 安装

从redis 官网下载:http://download.redis.io/releases/redis-stable.tar.gz

也可以在http://download.redis.io/releases/ 上查找自己想要的版本。

顺便将redis的windows客户端也下载下来: https://github.com/uglide/RedisDesktopManager/releases/

将下载的redis-stable.tar.gz 上传至服务器,并解压到指定路径。

示例:

#tar -xzvf ./redis-stable.tar.gz
#cd redis-stable
#make                                      # 编译redis,生成可执行文件
#cd src
#make install PREFIX=/usr/                 # 将make 操作生成的几个可执行文件复制至prefix指定的路径

 Hint: It‘s a good idea to run ‘make test‘ ;)

     INSTALL install
     INSTALL install
     INSTALL install
     INSTALL install
     INSTALL install
#yum install -y tcl                        # make test 需要tcl 依赖包,版本要求8.5以上
 .....
#make test                                 # 共进行46项测试,测试完成,会输出汇总信息
......华丽丽的省略线......
Execution time of different units:
  2 seconds - unit/printver
  2 seconds - unit/type/incr
  3 seconds - unit/keyspace
  4 seconds - unit/scan
  4 seconds - unit/auth
  3 seconds - unit/quit
  6 seconds - unit/protocol
  5 seconds - unit/multi
  17 seconds - unit/expire
  28 seconds - unit/type/list
  38 seconds - integration/aof
  65 seconds - unit/other
  76 seconds - unit/type/hash
  12 seconds - integration/convert-zipmap-hash-on-load
  13 seconds - integration/rdb
  5 seconds - integration/logging
  5 seconds - unit/pubsub
  4 seconds - unit/slowlog
  99 seconds - unit/type/string
  105 seconds - unit/type/set
  5 seconds - unit/introspection
  35 seconds - integration/psync2-reg
  6 seconds - unit/limits
  10 seconds - unit/introspection-2
  46 seconds - integration/psync2
  130 seconds - integration/replication-2
  137 seconds - unit/type/zset
  50 seconds - unit/scripting
  17 seconds - unit/bitfield
  152 seconds - unit/sort
  149 seconds - unit/aofrw
  14 seconds - unit/lazyfree
  15 seconds - unit/wait
  53 seconds - unit/bitops
  187 seconds - unit/dump
  58 seconds - unit/memefficiency
  197 seconds - integration/replication
  103 seconds - unit/maxmemory
  197 seconds - integration/replication-psync
  234 seconds - unit/type/list-2
  238 seconds - unit/type/list-3
  237 seconds - integration/replication-3
  241 seconds - integration/replication-4
  116 seconds - unit/hyperloglog
  131 seconds - unit/geo
  199 seconds - unit/obuf-limits

\o/ All tests passed without errors!

Cleanup: may take some time... OK~

1.1.2 了解可执行文件

redis-benchmark 
redis性能测试工具
redis-check-aof 
检查aof日志的工具
redis-check-dump 
检查rdb日志的工具
redis-cli 
连接用的客户端
redis-server 
redis服务进程

1.2 配置

1.2.1 移动配置文件

redis 解压后,在解压路径里有 redis.conf 文件。该文件包含了所使用版本中的所有 可用参数,及部署默认配置。一般我们要将该参数存放到一个统一的位置以便日后进行统 一管理。这里我将该文件存放至/etc/redis 中。文件名将以redis端口号命名。

makedir -p /etc/redis
cp /path/redis-stable/redis.conf /etc/redis/6379.conf

下面了解下各参数的意义。并配置相应参数。其中最重要的是bind 和port。 这两个参数 决定了我们是否可以从外部连接到redis数据库。

1.2.2 参数配置

不同的版本中参数也不一样。下面是部分参数的解释。 在版本中有特别指定的,说明只适用于该版本。 redis 4.0.8 默认参数:

bind 127.0.0.1                  # 注意调整此参数值
protected-mode yes              #
port 6379                       # 默认是6379,同一服务器的其他redis一定要修改此参数
tcp-backlog 511
timeout 0
tcp-keepalive 300
daemonize yes
supervised no
pidfile /var/run/redis_6379.pid
loglevel debug
logfile "/var/log/redis.log"
databases 16
always-show-logo yes
save 900 1
save 300 10
save 60 10000
stop-writes-on-bgsave-error yes
rdbcompression yes
rdbchecksum yes
dbfilename dump.rdb
dir ./                          # 建议调整为绝对路径。否则容易找不到日志文件
slave-serve-stale-data yes
slave-read-only yes
repl-diskless-sync no
repl-diskless-sync-delay 5
repl-disable-tcp-nodelay no
slave-priority 100
lazyfree-lazy-eviction no
lazyfree-lazy-expire no
lazyfree-lazy-server-del no
slave-lazy-flush no
appendonly no
appendfilename "appendonly.aof"
appendfsync everysec
no-appendfsync-on-rewrite no
auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb
aof-load-truncated yes
aof-use-rdb-preamble no
lua-time-limit 5000
slowlog-log-slower-than 10000
slowlog-max-len 128
latency-monitor-threshold 0
notify-keyspace-events ""
hash-max-ziplist-entries 512
hash-max-ziplist-value 64
list-max-ziplist-size -2
list-compress-depth 0
set-max-intset-entries 512
zset-max-ziplist-entries 128
zset-max-ziplist-value 64
hll-sparse-max-bytes 3000
activerehashing yes
client-output-buffer-limit normal 0 0 0
client-output-buffer-limit slave 256mb 64mb 60
client-output-buffer-limit pubsub 32mb 8mb 60
hz 10
aof-rewrite-incremental-fsync yes
参数 默认值 释义 示例 版本
daemonize no 是否以守护进程方式启动。默认no。 daemonize no  
protected-mode yes 当开启安全保护时,假如bind和masterauth都没有设置 protected-mode no  
    redis 只允许本地连接。    
pidfile /var/run/redis.pid 以守护进程方式启动时,会把pid 写入指定文件 pidfile /var/run/redis.pid  
port 6379 redis 默认监听端口 port 6379  
bind 127.0.0.1 绑定本机IP,用以接受外部连接 bind 127.0.0.1  
tcp-backlog 511 tcp连接队列排队数,与/proc/sys/net/core/somaxconn    
    两者取最小值。    
timeout 300 客户端连接空闲多久后,redis要自动关闭该连接 timeout 300  
loglevel verbose 日志信息记录级别。debug,verbose,notice,warning loglevel verbose  
logfile stdout 日志文件 logfile stdout  
databases 0 设置数据库的数量, 一般设置16个 databases 16  
save 900 1 格式为save <seconds> <changes>    
  300 10 指定达到多长时间或者达到变更的次数后将数据同步 save 900 1  
  60 10000 到数据文件,可以多个条件共同起作用。默认提供了 save 300 10  
    3个条件。 save 60 10000  
rdbcompression yes 存储至本地数据库时是否启用压缩。REDIS使用的是    
    LZF压缩。启用压缩后,CPU消耗会增加。如果为了节    
    省CPU消耗,可以将该选项设置为NO。但是会导致数    
    据库文件变大    
dffilename dump.rdb 指定本地数据库文件名。 dbfilename dump.rdb  
dir ./ 本地数据文件存放路径。默认是当前路径。 dir ./  
slaveof   设置当本机为slav服务时,设置master服务的IP地    
    址及端口,在Redis启动时,它会自动从master进行    
    数据同步,格式: slaveof <masterip> <masterport>    
    默认此参数不启用。    
masterauth   格式:masterauth <master-password>    
    当master服务设置了密码保护时,需要此参数指定密码    
slave-serve-stale-data yes 当从库与主库断开连接,或者正在数据同步,根据此参    
    数设置的不同值,从库对客户端的响应方式不同。    
    当设置为yes时,从库依旧可以响应客户端请求,只是可    
    能没有日期数据,或者没有数据(比如第一次同步).    
    当设置为No时,从库除了对info 和slaveinfo 两个命令    
    做出反馈,其他客户端请求全部反馈"SYNC with master    
    in progress"    
reuqirepass   格式 requirepass    
    当设置了此参数后,客户端在连接时需要通过    
    auth <password> 来提供密码。默认关闭    
maxclients   同一时间最大客户端连接数。默认不做配置。 maxclients 10000  
    Redis允许最大连接数为Redis进程可以打开的最大文件    
    件描述符数。如果设置为0,则表示不限制。当客户端    
    连接数到达参数值时,redis会拒绝新的连接 并向客户    
    端返回max number of clients reached.    
maxmemory   单位bytes. 默认未做配置。    
    当数据占用空间达到此配置的最大值时,redis先尝试    
    清除忆到期或者即将到期的Key,通过此方法处理后,仍    
    然到达最大内存配置,将无法进行写入操作。Redis    
    会将key保存在内存中,而value 保存在swap中    
appendonly no Redis 默认情况下是异步的把数据写入磁盘。如果不开    
    启,可能会在断电时导致一段时间内的数据丢失。 appendonly yes  
    开启此参数可以避免数据丢失,配合appendfilename    
appendfilename "appendonly.aof" 日志文件名 appendfilename "appendonly.aof"  
appendfsync everysec 更新日志方式,共有3个可选值    
    no: 等操作系统进行数据缓存同步到磁盘(快) appendfsync everysec  
    always:更新操作后手动调用fsync()将数据写到磁盘(慢    
    everysec:表示每秒同步一次(折衷,默认值)    
vm-enabled no 指定是否启用虚拟内存机制。VM机制将数据分页存放。 vm-enabled no 3
    由Redis将访问量较少的页 swap 到磁盘上。访问多的页    
    由磁盘自动换到内存。    
vm-swap-file /tmp/redis.swap 当vm-enabled 设置为yes时,需要指定swap文件 vm-swap-file /tmp/redis.swap 3
vm-max-memory 0 将 vm-max-memory空间使用完毕,新插入数据存入swap vm-max-memory 0 3
    无论vm-max-memory设置多少,所有索引数据都(KEYS)    
    是存储在内存中的。当设置为0时,所有value都在swap    
vm-page-size 32 单位bytes.    
    swap 的管理与内存是类似的,使用page的方式管理。 vm-page-size 32 3
    此参数设置page的大小。此参数受数据大小影响。单个    
    数据大,就需要较大的页。    
vm-pages   设置最多能交换保存多少个页到磁盘.可以算出可以交    
    换出来的最大大小为vm-page-size * vm-pages,这两个    
    参数也决定了磁盘上swap文件最大占用空间。    
vm-max-threads 4 设置访问swap文件的线程数,最好不要超过机器的核数, vm-max-threads 4 3
    如果设置为0,那么所有对swap文件的操作都是串行的    
    可能会造成比较长时间的延迟。默认值为4    
         
glueoutputbuf yes 设置在向客户端应答时,是否把较小的包合并为一个包 glueoutputbuf yes 3
    发送,默认是yes    
hash-max-zipmap-entries 64 在超过一定的数量或者最大的元素超过某一临界值时, hash-max-zipmap-entries 64 3
hash-max-zipmap-value 512 采用一种特殊的哈希算法 hash-max-zipmap-value 512 3
activerehashing yes 指定是否激活重围哈希,默认开启 activerehashing yes  
include   包含其他配置文件。 include /path/to/local.conf  

1.3 启停服务

1.3.1 启动

redis 启动的命令非常简单.

redis-server /etc/redis/6379.conf

启动时,会有如下提示:

582:C 28 Feb 03:03:42.226 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
582:C 28 Feb 03:03:42.226 # Redis version=4.0.8, bits=64, commit=00000000, modified=0, pid=582, just started
582:C 28 Feb 03:03:42.227 # Configuration loaded
582:M 28 Feb 03:03:42.228 * Increased maximum number of open files to 10032 (it was originally set to 1024).
                _._
           _.-``__ ‘‘-._
      _.-``    `.  `_.  ‘‘-._           Redis 4.0.8 (00000000/0) 64 bit
  .-`` .-```.  ```\/    _.,_ ‘‘-._
 (    ‘      ,       .-`  | `,    )     Running in standalone mode
 |`-._`-...-` __...-.``-._|‘` _.-‘|     Port: 6379
 |    `-._   `._    /     _.-‘    |     PID: 582
  `-._    `-._  `-./  _.-‘    _.-‘
 |`-._`-._    `-.__.-‘    _.-‘_.-‘|
 |    `-._`-._        _.-‘_.-‘    |           http://redis.io
  `-._    `-._`-.__.-‘_.-‘    _.-‘
 |`-._`-._    `-.__.-‘    _.-‘_.-‘|
 |    `-._`-._        _.-‘_.-‘    |
  `-._    `-._`-.__.-‘_.-‘    _.-‘
      `-._    `-.__.-‘    _.-‘
          `-._        _.-‘
              `-.__.-‘                                               

582:M 28 Feb 03:03:42.229 # WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128.
582:M 28 Feb 03:03:42.229 # Server initialized
582:M 28 Feb 03:03:42.229 # 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.
582:M 28 Feb 03:03:42.229 # WARNING you have Transparent Huge Pages (THP) support enabled in your kernel. This will create latency and memory usage issues with Redis. To fix this issue run the command ‘echo never > /sys/kernel/mm/transparent_hugepage/enabled‘ as root, and add it to your /etc/rc.local in order to retain the setting after a reboot. Redis must be restarted after THP is disabled.
582:M 28 Feb 03:03:42.229 * DB loaded from disk: 0.000 seconds
582:M 28 Feb 03:03:42.229 * Ready to accept connections

1.3.2 设置开机自启动

echo redis-server /etc/redis/6379.conf  >> /etc/rc.local

1.3.3 停止

   redis-cli shutdown
  或者
  pkill redis-server

原文地址:https://www.cnblogs.com/halberd-lee/p/8487720.html

时间: 2024-11-07 01:03:31

redis 单实例安装的相关文章

redis单实例、多实例、主从同步实战

[安装redis单实例实战] yum -y install gcc gcc-c++    #安装编译工具 cd /opt wget -c http://download.redis.io/releases/redis-3.0.5.tar.gz   #下载包 tar xf redis-3.0.5.tar.gz     #解压 cd redis-3.0.5 make MALLOC=libc  #编译 make PREFIX=/usr/local/redis install  #安装 echo 'PA

redis3.2.10单实例安装测试

redis3.2.10单实例安装测试 主要是实际使用环境中使用,为了方便快速部署,特意记录如下: # root用户 yum -y install make gcc-c++ cmake bison-devel ncurses-devel readline-devel libaio-devel perl libaio wget lrzsz vim mkdir -p /data useradd -d /data/redis -m redis mkdir -p /data/redis/applicati

03.Redis单实例部署之基于RDB持久化

一.部署Redis单实例[RDB持久化] ## 操作系统环境说明 [[email protected] ~]# cat /etc/redhat-release;uname -r;uname -m; CentOS Linux release 7.5.1804 (Core) 3.10.0-862.el7.x86_64 x86_64 [[email protected] ~]# firewall-cmd --state ## 查看firewall墙的状态 not running [[email pro

Linux平台oracle 11g单实例 安装部署配置 快速参考

1.重建主机的Oracle用户 组 统一规范 uid gid 以保证共享存储挂接或其他需求的权限规范 userdel -r oracle groupadd -g 500 oinstall groupadd -g 501 dba useradd -g oinstall -G dba -u 500 oracle #id oracle uid=500(oracle) gid=500(oinstall) 组=500(oinstall),501(dba) 2.安装好Oracle 需要的rpm包.安装rpm

mysql单实例安装配置指南

1.操作系统:CentOS 2.数据库: mysql-5.1.73.tar.gz 3.任务:单实例安装配置指南 提示:下载数据库有两种方式:一种是官网,另一种途径是国内镜象网站:国内镜象下载资源的速度比官网要快,例如,我们这次下载的就是国内搜狐镜象: http://mirrors.sohu.com/mysql/MySQL-5.1/ http://mirrors.sohu.com/ 整个安装过程: [[email protected] tools]#wget http://mirrors.sohu

Oracle 11.2.4.0 ACTIVE DATAGUARD 单实例安装(COPY创建备库)

Oracle 11.2.4.0 ADG 单实例安装(COPY创建备库) 规划: 主: OS: Linux Centos 6.5 X64 hostname:ORA11G-DG1 ipaddress:192.168.213.199 db_unique_name=netdata_pd db_name=netdata 备: OS: Linux Centos 6.5 X64 hostname:ORA11G-DG2 ipaddress:192.168.213.200 db_unique_name=netda

mysql5.6.40单实例安装二进制快捷安装

mysql5.6.40单实例安装二进制快捷安装 近期因不同环境需要不同版本的mysql实例,故为了方便操作,特此记录下来,方便自己查找. # 1.1.Centos最小化安装推荐常用依赖包 yum clean all yum -y update yum -y install gcc-c++ gd libxml2-devel libjpeg-devel libpng-devel net-snmp-devel wget telnet vim zip unzip yum -y install curl-

Redis02——Redis单节点安装

Redis单节点安装 一.Redis的数据类型 string hash list set zset 二.安装 2.1.下载 wget http://download.redis.io/releases/redis-5.0.5.tar.gz 2.2.解压 tar -xf redis-5.0.5.tar.gz 2.3.安装 make make install PREDIX=/opt/redis 2.4.修改环境变量 vim /etc/profile export REDIS_HOME:/opt/re

Linux平台达梦数据库V7单实例安装方式之图形方式

一 前言 我们在学习任何一个应用时,了解它的最初步骤通常是学会如何进行安装配置,后序才去关心如何使用,学习达梦数据库也是如此,而达梦数据库的安装提供了多种方式,接下来会一一介绍每种安装方式,达梦数据库支持多个操作系统平台的安装,本篇主要介绍Linux平台下的图形方式安装. 二 安装需求 2.1 硬件需求 用户应根据 DM 及应用系统的需求来选择合适的硬件配置,如 CPU 的指标.内存及磁盘容量等.档次一般应尽可能高一些,尤其是作为数据库服务器的机器,基于 Java 的程序运行时最好有较大的内存.