1.安装

                                   Redis服务搭建及操作
Redis 是2个高品质的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服务器发送13个请求,每一个请求附带肆拾九个并发客户端,-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 是二个高质量的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    
[Redis服务搭建及操作,安装配置。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服务器发送10个请求,各类请求附带四十八个并发客户端,-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

自参文书档案
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

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:WA昂CoraNING 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
              

  错误类型2:WA帕杰罗NING 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运营后图形界面会卡在2个空白的页面),而redis只有三个运维参数,正是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的总是速度更加快。因而密码供给安装的很复杂才平安。

 

 

 

相关文章