您的位置:时时app平台注册网站 > 时时app平台注册网站 > Redis缓存数据库的安装与配置(1)【时时app平台注册

Redis缓存数据库的安装与配置(1)【时时app平台注册

2019-10-12 10:44

通过管理后,再起步redis就从未别的警示了。

自参文书档案
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:WA景逸SUVNING 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               

 

                                   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服务器发送12个诉求,每一个央浼附带伍十三个并发顾客端,-n 接央浼数,-c 接并发数  
[html] view plaincopy  
[root@localhost ~]# /usr/local/redis/bin/redis-benchmark -h 127.0.0.1 -p 6379 -n 10 -c 50

启航服务

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

    redis-cli:Redis命令行操作工具.你也能够用telnet依照其纯文本契约来操作

[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

pkill  redis

3.redis安全

src目录下这几个文件成效如下

做叁个连连

 

重启redis后测试

bind 127.0.0.1        改为bind 0.0.0.0   //自便主机都可访问

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

查阅是或不是运营:

别的的看要求修改

mkdir -p /usr/local/redis/bin

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

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

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

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

警告: 因为redis速度极度快,所以在一台比较好的服务器下,七个表面的客户能够在1秒内开展上万次的密码尝试,那代表你要求钦定非常极度强盛的密码来幸免暴力破解。

[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 &

make

vm.overcommit_memory参数表明:
基于水源文书档案,该参数有几个值,分别是:
0:当顾客空间央求越多的内部存款和储蓄器时,内核尝试猜想出剩余可用的内存。
1:当设那一个参数值为1时,内核允许超量使用内部存款和储蓄器直到用完甘休,主要用于科学总结
2:当设这么些参数值为2时,内核会采纳三个并非过量施用内部存款和储蓄器的算法,即系统一整合体内部存款和储蓄器地址空间无法超越swap 二分之一的RAM值,二分一参数的设定是在overcommit_ratio中设定。

cd redis-3.2.5

1.安装

redis-cli shutdown 关闭redis进程

极其提醒: redis未有客户的概念,只好设置连接密码,况且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-server   /usr/local/redis/conf/redis.conf

daemonize no  改为daemonize yes  //是不是把redis-server运行在后台,私下认可是“否”。若改成yes,会变动多个pid文件

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

#重启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-server:Redis服务器的daemon运行程序

所以,大家做一下甩卖后在起步redis进程

也可由此telnet连接redis数据库

tarxf redis-3.2.5.tar.gz

[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"

修改配置文件

redis运转成功后,在最后会出现如下警报新闻:

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

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

netstat -anpt |grep redis

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

telnet 10.0.0.135 6379

2.由此顾客端操作redis数据库

本文由时时app平台注册网站发布于时时app平台注册网站,转载请注明出处:Redis缓存数据库的安装与配置(1)【时时app平台注册

关键词: