Redis服务搭建及操作,安装配置

1.安装

                                   Redis服务搭建及操作
Redis 是三个高质量的key-value数据库。 redis的现身,极大程度补偿了memcached那类keyvalue存款和储蓄的阙如,在有个别场合能够对关周到据库起到很好的补充功效。它提供了Python,Ruby,Erlang,PHP客商端,使用很实惠。  
以下是设置测验步骤:  
1,redis安装:  
[html] view plaincopy  
[root@localhost ~]# cd /usr/local/src/    
[root@localhost src]# wget     
[root@localhost src]# tar zxf redis-2.2.12.tar.gz    
[root@localhost src]# cd redis-2.2.12    
[root@localhost redis-2.2.12]# make PREFIX=/usr/local/redis install    
2,配置redis:  
[html] view plaincopy  
[root@localhost redis-2.2.12]# mkdir -p /usr/local/redis/etc    
[root@localhost redis-2.2.12]# mkdir -p /usr/local/redis/var    
[root@localhost redis-2.2.12]# cd /usr/local/redis/etc    
[root@localhost etc]# vi redis.conf(重新树立conf文件,须要复制上边包车型地铁配备)    
[html] view plaincopy  
daemonize yes    
pidfile /usr/local/redis/redis.pid    
port 6379    
bind 127.0.0.1    
timeout 300    
loglevel verbose    
logfile stdout    
databases 16    
save 900 1    
save 300 10    
save 60 10000    
rdbcompression yes    
dbfilename dump.rdb    
dir /usr/local/redis/var/    
slave-serve-stale-data yes    
maxclients 12800    
appendonly no    
appendfsync everysec    
no-appendfsync-on-rewrite no    
slowlog-log-slower-than 10000    
slowlog-max-len 1024    
vm-enabled no    
vm-swap-file /tmp/redis.swap    
vm-max-memory 0    
vm-page-size 32    
vm-pages 134217728    
vm-max-threads 4    
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    
3,运营关闭redis:  
[html] view plaincopy  
[root@localhost ~]# /usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf    
[root@localhost ~]# ps -ef|grep redis    
root 3891 1 0 18:11 ?  00:00:00 /usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf    
[root@localhost redis-2.2.12]# /usr/local/redis/bin/redis-cli -h 127.0.0.1 -p 6379 shutdown    
借使布置利用暗许的127.0.0.1和6379端口,可推行命令时可粗略以上参数。  
4,测试redis:  
[html] view plaincopy  
[root@localhost ~]# telnet 127.0.0.1 6379    
Trying 127.0.0.1...    
Connected to localhost (127.0.0.1).    
Escape character is '^]'.    
^]    
telnet> quit    
Connection closed.    
5,/usr/local/redis/bin目录下履行文书效用表明:  
redis-server:Redis服务器的daemon运营程序  
redis-cli:Redis命令行操作工具。当然,你也足以用telnet根据其纯文本合同来操作  
redis-benchmark:Redis质量测量检验工具,测验Redis在你的体系及您的构造下的读写性能 
--------------------------满足的分水线-----------------------------------  
实例:  
1)登录,输入数据:  
[html] view plaincopy  
[root@localhost ~]# /usr/local/redis/bin/redis-cli -h 127.0.0.1 -p 6379    
redis 127.0.0.1:6379> set name csdn    
OK    
redis 127.0.0.1:6379> get name    
"<span style="font-family: simsun; ">csdn</span>"    
redis 127.0.0.1:6379> quit    
2)查看redis总计信息:  
[html] view plaincopy  
[root@localhost ~]# /usr/local/redis/bin/redis-cli -h 127.0.0.1 -p 6379 info    
3)测量检查验质量量:  
向redis服务器发送19个诉求,每一个央求附带五十个并发客商端,-n 接央求数,-c 接并发数  
[html] view plaincopy  
[root@localhost ~]# /usr/local/redis/bin/redis-benchmark -h 127.0.0.1 -p 6379 -n 10 -c 50

1.下载:

wgethttp://download.redis.io/releases/redis-2.8.12.tar.gz

tarxf redis-3.2.5.tar.gz

自参文书档案
redis源码安装:redis-3.2.9.tar.gz
下载:wget
解压:tar -vxf redis-3.2.9.tar.gz
编写翻译安装:cd redis-3.2.9
          # make MALLOC=jemalloc
          #make PREFIX=/home/application/redis-3.2.9 install
          cd /home/application/
          #ln -s redis-3.2.9 /home/application/redis
    配置景况变量:
     #vim /etc/profile
     末了生龙活虎行增加:export PATH=/home/application/redis/bin/:$PATH
     #./etc/profile
     # which redis-server
     /home/application/redis/bin/redis-server    表示生效
     标准配备文件;
     #mkdir /etc/redis
     cp /home/application/redis-3.2.9/redis.conf /etc/redis
     开机运行:
     redis-server /etc/redis/redis.conf &
     运营时发掘成vm.overcommit_memory = 1(表达内部存款和储蓄器低卡塔尔后要将那条增多到vim /etc/sysctl.conf的布署文件之中
     或然直接执行sysctl vm.overcommit_memory=1  不经常马上生效
     首先将redis关掉 :killall redis-server
     然后sysctl vm.overcommit_memory=1    当前生效
     那时重启:redis-server /etc/redis/redis.conf
     #lsof -i :6379 检查服务有未有起来
     redis的准确性关闭措施:redis-cli shutdown

2.解压到/usr/local下

sudo tar -zxvfredis-2.8.12.tar.gz -C /usr/local

cd redis-3.2.5

redis运转服务及顾客端测量检验命令
     顾客端命令:redis-cli
     redis-cli -h 192.168.1.158 -p 6379
     也能够用telnet去老是
    
Redis 3.2.9版本运行时现身警告的息灭办法:
  错误类型:7283:M 12 Mar 12:13:33.749 # WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128.
     解除措施1: 不时设置生效: sysctl -w net.core.somaxconn = 1024
         方法2: 永世生效: 纠正/etc/sysctl.conf文件,增添风华正茂行
         net.core.somaxconn= 1024
         然后施行命令
         sysctl -p

3.编译

cd /usr/local/redis-2.8.12

make(假使编写翻译不成功,很或许是没设置gcc,yum install gcc,安装完结后持续make卡塔尔国

cp redis.conf  /etc/redis/

make install命令实施到位后,会在/usr/local/bin目录下生花费个可实施文件,分别是redis-server、redis-cli、redis-benchmark、redis-check-aof 、redis-check-dump,它们的效劳如下:

redis-server:Redis服务器的daemon运转程序

redis-cli:Redis命令行操作工具。也足以用telnet依照其纯文本合同来操作

redis-benchmark:Redis品质测验工具,测量试验Redis在当前系统下的读写品质

redis-check-aof:数据修复

redis-check-dump:检查导出工具

make

  错误类型2:WAEnclaveNING 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.
      消灭方式1: 有时安装生效: sysctl -w vm.overcommit_memory = 1
          方法2: 永恒生效: 改革/etc/sysctl.conf文件,扩充生机勃勃行
            vm.overcommit_memory = 1
            然后推行命令
              sysctl -p               

4. 改善系统布局文件,施行命令

a) echo vm.overcommit_memory=1 >> /etc/sysctl.conf

b) sysctl vm.overcommit_memory=1 或执行echo vm.overcommit_memory=1 >>/proc/sys/vm/overcommit_memory

选取数字含义:

0,表示内核将检查是还是不是有丰硕的可用内部存款和储蓄器供应用进度使用;若是有丰盛的可用内部存款和储蓄器,内部存款和储蓄器申请允许;不然,内部存款和储蓄器申请停业,并把错误重临给使用进度。

1,表示内核允许分配所有的大意内部存储器,而任由当前的内部存储器状态怎样。

2,表示内核允许分配超过持有物理内部存款和储蓄器和置换空间总和的内部存款和储蓄器

mkdir -p /usr/local/redis/bin

5. 改过redis配置文件

a) $ cd /etc/redis

b) vi redis.conf

c卡塔尔国 修改daemonize yes---指标使进度在后台运维

参数介绍:

daemonize:是不是以后台daemon情势运转

pidfile:pid文件地方

port:监听的端口号

timeout:伏乞超时时间

loglevel:log音信等第

logfile:log文件地方

databases:开启数据库的数额

save * *:保存快速照相的效能,第叁个*表示多久,第多少个*代表施行多少次写操作。在自然时间内试行一定数量的写操作时,自动保存快速照相。可设置多少个标准。

rdbcompression:是或不是接受压缩

dbfilename:数据快速照相文件名(只是文件名,不富含目录)

dir:数据快速照相的保留目录(这些是目录)

appendonly:是或不是开启appendonlylog,开启的话每便写操作会记一条log,这会增进多少抗风险才能,但影响成效。

appendfsync:appendonlylog怎样联合到磁盘(多少个选项,分别是历次写都强制调用fsync、每秒启用一回fsync、不调用fsync等待系统和谐三只)

src目录下那个文件成效如下

6. 启动redis

a) $ cd /usr/local/bin

b) ./redis-server /etc/redis/redis.conf

    redis-server:Redis服务器的daemon运转程序

7 ./redis-cli  

进入redis客户端

    redis-cli:Redis命令行操作工具.你也得以用telnet依照其纯文本协议来操作

8. 反省是或不是运营成功

a) $ ps -ef | grep redis

附:把Redis作为Linux服务开机运营这里只提供豆蔻梢头种最简便易行的不二诀要,最佳的是由此编写制定开机运转脚本来做。

风流倜傥经要开机运维redis,大家供给把redis设置为daemon后台运维(要是不设置为后台运营,则linux运营后图形分界面会卡在三个空白的页面),而redis唯有1个运维参数,便是redis的布署文件路线。redis的暗许配置文件redis.conf坐落于redis的装置目录下。大家得以把该公文copy到/etc目录下 Shell代码1[root@localhost redis-2.6.14]# cp redis.conf /etc/redisredis的暗中同意配置文件中daemonize参数的值为no,代表为非后台运营,所以我们须要把该参数的值修改为yes。至于其余的参数在这里地就不详细说了,具体能够参见:

修正完daemonize参数之后,redis就能够通过daemon方式运维了,那么下一步正是把redis参加到linux开机运行服务配置中了,具体步骤如下: 使用VI编辑器张开Linux开机运行服务配置文件/etc/rc.local,并在中间参预上边包车型大巴豆蔻梢头行代码: Shell代码2/usr/local/redis-2.6.14/src/redis-server /etc/redis/redis.conf 编辑完后保留,然后重启系统就OK了。

停止Redis服务: Shell代码 3src/redis-cli shutdown

    redis-benchmark:Redis品质测验工具,测验Redis在你的系统及您的配备下的读写品质.

cp   redis-benchmark  redis-check-aof     redis-cli    redis-server  /usr/local/redis/bin/

**mkdir -p /usr/local/redis/conf**

**cp redis.conf   /usr/local/redis/conf**

vim /usr/local/redis/etc/redis.conf

改善配置文件

daemonize no  改为daemonize yes  //是还是不是把redis-server运营在后台,暗中认可是“否”。若改成yes,会生成多少个pid文件

bind 127.0.0.1        改为bind 0.0.0.0   //大肆主机都可访问

其他的看需求修正

pkill  redis

做三个接连

ln  -s  /usr/local/redis/bin/*   /usr/local/bin

起步服务

redis-server   /usr/local/redis/conf/redis.conf

翻看是或不是运维:

netstat -anpt |grep redis

tcp        0      0 0.0.0.0:6379                0.0.0.0:*                   LISTEN      46390/redis-serve

redis运转成功后,在最后会现身如下警告消息:

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.
[3169] 02 Oct 10:17:30.690 * The server is now ready to accept connections on port 6379
提个醒大约意思为:
overcommit_memory被安装为了0.假设内部存款和储蓄器非常不足的处境下后台保存可能会退步;要缓慢解决那个难点,必要在/etc/sysctl.conf配置文件上将vm.overcommit_memory设置为1;可能通过命令“sysctl vm.overcommit_memory=1”来修改。

于是,大家做一下拍卖后在开发银行redis进度

[root@redis01 redis-2.8.9]# pkill redis
[root@redis01 redis-2.8.9]# sysctl vm.overcommit_memory=1
vm.overcommit_memory = 1
再启动 redis-server /usr/local/redis/conf/redis.conf &

通过管理后,再开发银行redis就不曾任何警告了。

vm.overcommit_memory参数说明:
基于水源文书档案,该参数有多少个值,分别是:
0:当客商空间央求越多的内部存款和储蓄器时,内核尝试猜想出剩余可用的内部存款和储蓄器。
1:当设那个参数值为1时,内核允许超量使用内部存款和储蓄器直到用完结束,首要用来科学总计
2:当设这么些参数值为2时,内核会接收四个并不是过量施用内部存款和储蓄器的算法,即系统总体内部存款和储蓄器地址空间不能够胜过swap 一半的RAM值,八分之四参数的设定是在overcommit_ratio中设定。

redis-cli shutdown 关闭redis进程

2.透过客户端操作redis数据库

上边大家来大概操作一下数据库。 插入数据:设置三个key-value对

[root@redis01 redis-2.8.9]# redis-cli   #通过客户端连接本地redis 
127.0.0.1:6379> set id 001  #写入一条数据key(id),value(001)
OK
127.0.0.1:6379> get id  #取值key(id)
"001"   #显示key对应的值
127.0.0.1:6379> del id  #删除key(id)
(integer) 1     #1表示成功
127.0.0.1:6379> exists id   #验证key是否存在
(integer) 0     #0表示不存在
127.0.0.1:6379> get id  #取key的值
(nil)           #报错信息
127.0.0.1:6379> set user001 benet
OK
127.0.0.1:6379> set user002 yunjisuan
OK
127.0.0.1:6379> set user003 yun123
OK
127.0.0.1:6379> get user001
"benet"
127.0.0.1:6379> get user002
"yunjisuan"
127.0.0.1:6379> keys *  #查看redis里所有的key
1) "user003"
2) "user002"
3) "user001"

redis-cli客户端的远程连接及非交互式操作数据库

[root@redis01 redis-2.8.9]# redis-cli -h 10.0.0.135 -p 6379
10.0.0.135:6379> quit
[root@redis01 redis-2.8.9]# redis-cli -h 10.0.0.135 -p 6379 set aaa 111
OK
[root@redis01 redis-2.8.9]# redis-cli -h 10.0.0.135 -p 6379 get aaa
"111"

也可通过telnet连接redis数据库

telnet 10.0.0.135 6379

3.redis安全

(1)为redis顾客端设置外界链接密码

警告: 因为redis速度不慢,所以留意气风发台比较好的服务器下,一个外界的客商能够在1秒内展开上万次的密码尝试,这意味你必要钦赐极其可怜刚劲的密码来防护暴力破解。

[root@redis01 redis-2.8.9]# grep -n requirepass /usr/local/redis/conf/redis.conf    #修改redis配置文件,添加密码
198:# If the master is password protected (using the "requirepass" configuration
339:# requirepass foobared
[root@redis01 redis-2.8.9]# sed -i '339 s@# requirepass foobared@requirepass yunjisuan@g'   #密码是yunjisuan /usr/local/redis/conf/redis.conf
[root@redis01 redis-2.8.9]# grep -n requirepass /usr/local/redis/conf/redis.conf 
198:# If the master is password protected (using the "requirepass" configuration
339:requirepass yunjisuan

重启redis后测试

#重启redis进程
[root@redis01 redis-2.8.9]# ps -ef | grep redis | grep -v grep
root       3442   1288  0 13:40 pts/0    00:00:17 redis-server *:6379                          
[root@redis01 redis-2.8.9]# redis-cli shutdown
[3442] 02 Oct 18:17:03.370 # User requested shutdown...
[3442] 02 Oct 18:17:03.370 * Saving the final RDB snapshot before exiting.
[3442] 02 Oct 18:17:03.380 * DB saved on disk
[3442] 02 Oct 18:17:03.380 # Redis is now ready to exit, bye bye...
[1]   Done                    redis-server /usr/local/redis/conf/redis.conf
[root@redis01 redis-2.8.9]# ps -ef | grep redis | grep -v grep
[root@redis01 redis-2.8.9]# redis-server /usr/local/redis/conf/redis.conf &
[root@redis01 redis-2.8.9]# ps -ef | grep redis | grep -v grep
root       3843   1288  0 18:18 pts/0    00:00:00 redis-server *:6379  

#测试验证效果
#第一种登陆验证方式
[root@redis01 redis-2.8.9]# redis-cli   #登陆本地redis
127.0.0.1:6379> set name 3333   #存数据
(error) NOAUTH Authentication required. #没有验证权限
127.0.0.1:6379> keys *  #查看所有key
(error) NOAUTH Authentication required. #没有验证权限
127.0.0.1:6379> auth yunjisuan  #提交验证密码
OK          #验证通过
127.0.0.1:6379> keys *  #查看所有keys
1) "user003"
2) "ab"
3) "user002"
4) "aaa"
5) "user001"

#第二种登录验证方式
[root@redis01 redis-2.8.9]# redis-cli -a yunjisuan  #登陆时提交密码
127.0.0.1:6379> keys *
1) "user003"
2) "ab"
3) "user002"
4) "aaa"
5) "user001"

专程提示: redis未有顾客的定义,只好设置连接密码,并且redis的总是速度超快。由此密码供给安装的很复杂才安然。

 

 

 

本文由星彩网app下载发布于星彩网app下载,转载请注明出处:Redis服务搭建及操作,安装配置

TAG标签: 星彩网app下载
Ctrl+D 将本页面保存为书签,全面了解最新资讯,方便快捷。