redis 安装配置

redis内存数据库(缓存服务器)适合高并发的读写应用场景,超越磁盘IO读写的瓶颈。


*****************redis适用场合****************

1.取最新N个数据的操作

2.排行榜应用,取TOP N 操作

3.需要精确设定过期时间的应用

4.计数器应用

5.Uniq操作,获取某段时间所有数据排重值

6.实时系统,反垃圾系统

7.Pub/Sub构建实时消息系统

8.构建队列系统

9.缓存

*****************安装配置****************

安装redis之前先要安装tcl


.make test报错:

You need tcl 8.5 or newer in order to run the Redis test
make: *** [test] Error 1


安装 Tcl

tar zxvf  tcl8.6.0-src.tar.gz

cd tcl8.6.0/unix

./configure

make

make install

chmod -v 755 /usr/lib/libtcl8.6.so

1下载安装

目前最新稳定版本为:redis-2.8.17.tar.gz

http://download.redis.io/releases/redis-2.8.17.tar.gz

(查看Liunx版本方式:getconf LONG_BIT)
如果是32位:make CFLAGS="-march=i686"
如果是64位:make

要是编译失败(make clean)

cd /opt/portal/redis/redis-2.8.8/src
make test
make install  

2配置文件目录结构

Redis 由四个可执行文件:redis-benchmark、<span style="color:#ff0000;">redis-cli、redis-server 、redis-sentinel</span>这4个文件,加上一个redis.conf就构成了整个redis的最终可用包。它们的作用如下:
redis-server:Redis服务器的daemon启动程序
redis-cli:Redis命令行操作工具。当然,你也可以用telnet根据其纯文本协议来操作
redis-benchmark:Redis性能测试工具,测试Redis在你的系统及你的配置下的读写性能
redis-sentinel:redis的监控,配置后检测到master down 会将slave升级为master
现在就可以启动redis了,redis只有一个启动参数,就是他的配置文件路径。

移动配置文件位置(为了便于管理)

mkdir -p /opt/portal/redis/bin

mkdir -p /opt/portal/redis/conf

mkdir -p /opt/portal/redis/logs

cd /opt/portal/redis/redis-2.8.8

cp redis.conf sentinel.conf /opt/portal/redis/conf

cd /opt/portal/redis/redis-2.8.8/src

cp  redis-server redis-cli redis-sentinel redis-benchmark  mkreleasehdr.sh redis-check-aof redis-check-dump   /opt/portal/redis/bin

<span style="color:#ff0000;">设置别名</span>
vi /etc/profile
alias redis-server='/opt/portal/redis/bin/redis-server /opt/portal/redis/conf/redis.conf'
alias redis-cli='/opt/portal/redis/bin/redis-cli'
使配置文件生效
. /etc/profile

<h2>3.修改配置文件 </h2>
vi /opt/portal/redis/conf/redis.conf

一、将daemonize no 中no改为yes [以守护进程方式启动进程]
二、如果是slave 需要配置说明他的master是谁:<span style="color:#ff0000;">slaveof 192.168.14.191 6379</span>

4.启动/随机启动:

cd /opt/portal/redis/bin

./redis-server /opt/portal/redis/conf/redis.conf  #启动redis并指定配置文件。

#vi /etc/rc.local #设置随机启动。

/opt/portal/redis/bin/redis-server /opt/portal/redis/conf/redis.conf

5.查看是否启动成功 

ps -ef | grep redis

netstat -tunpl | grep 6379#查看端口是否占用。

6.进入客户端/退出 

cd /opt/portal/redis/bin

./redis-cli #进入

quit #退出  ctrl+c

7.关闭redis  

pkill redis-server  #关闭

./redis-cli shutdown #关闭
./redis-cli -p 6397 shutdown //关闭6397端口的redis
说明:关闭以后缓存数据会自动dump到硬盘上,硬盘地址见redis.conf中的dbfilename dump.rdb

daemonize    如果需要在后台运行,把该项改为yes  

pidfile      配置多个pid的地址 默认在/var/run/redis.pid

bind 绑定ip,设置后只接受来自该ip的请求

port 监听端口,默认为6379

timeout      设置客户端连接时的超时时间,单位为秒

loglevel     分为4级,debug、verbose、notice、warning

logfile      配置log文件地址

databases    设置数据库的个数,默认使用的数据库为0

save * *     保存快照的频率,第一个*表示多长时间,第二个*表示执行多少次写操作。在一定时间内执行一定数量的写操作时,自动保存快照。

rdbcompression    在进行镜像备份时,是否进行压缩

Dbfilename        镜像备份文件的文件名

Dir   数据库镜像备份的文件放置路径

Slaveof     设置数据库为其他数据库的从数据库

Masterauth 主数据库连接需要的密码验证

Requirepass     设置登录时需要使用的密码

Maxclients 限制同时连接的客户数量

Maxmemory 设置redis能够使用的最大内存

Appendonly 是否开启appendonlylog,开启的话每次写操作会记一条log,这会提高数据抗风险能力,但影响效率。
Appendfsync 设置对appendonly.aof文件同步的频率

以下了解即可:



vm-enabled 是否开启虚拟内存支持

vm-swap-file 设置虚拟内存的交换文件路径

vm-max-memory 设置redis使用的最大物理内存大小

vm-page-size 设置虚拟内存的页大小

vm-pages 设置交换文件的总的page数量

vm-max-threads 设置VM IO同时使用的线程数量

Glueoutputbuf 把小的输出缓存存放在一起

hash-max-zipmap-entries 设置hash的临界值

Activerehashing 重新hash

4常用命令

select num#选择库,默认在0库,共16个库

auth liweijie#授权用户所需密码(密码就是redis.conf中配置的密码)
quit/exit/crtl+C#退出客户端

dbsize#返回库里的键的个数。

info#显示redis服务器的相关信息。

config get */loglevel #返回所有/指定的配置信息。

flushdb#删除当前库中的所有键/表。

flushall#删除所有数据库中的所有键/表

keys * #查询所有

keys user*#查询指定的

exists user:001#判断是否存在。

del name#删除指定的键。

expire addr 10#设置过期时间

ttl addr#查询过期时间time to live

move age 1#将age移到1数据库。

get age #获取

persist age#移除age的过期时间。

randomkey#随机返回一个key

rename name1 name2#重命名键

type myset#返回键的类型。

ping #测试redis连接是否存活。

echo lamp#输出一个lamp


5、Redis持久化机制:  *****************************************************

1.两种方式:一、备份数据到磁盘(快照)[ snapshotting(快照)也是默认方式],主从复制也是通过rdb方式


   	   二、记录操作命令[ Append-only file(缩写aof)的方式]


一、备份数据到磁盘(快照)[ snapshotting(快照)也是默认方式] 


	save 900 1 #900秒内如果超过1个key被修改,则发起快照保存


	save 300 10 #300秒内容如超过10个key被修改,则发起快照保存


	save 60 10000
	一定时间间隔内对Redis做一次快照,如果Redis意外Down,而还没有执行快照,那么最后一次快照的数据将会丢失。


二、记录操作命令[ Append-only file(缩写aof)的方式](较安全持久化) 


	appendonly yes #启用aof 持久化方式 


	# appendfsync always //收到写命令就立即写入磁盘,最慢,但是保证完全的持久化 


	appendfsync everysec //每秒钟写入磁盘一次,在性能和持久化方面做了很好的折中


	# appendfsync no //完全依赖os,性能最好,持久化没保证


6.消息订阅***************************************************************


public tv1 message1  发布消息
subscribe tv1             订阅tv1

7状态&性能监控

安全监控-Sentinel
Sentinel是 Redis 自带的工具,它可以对 Redis 主从复制进行监控,并实现主挂掉之后的自动故障转移。
在转移的过程中,它还可以被配置去执行一个用户自定义的脚本,在脚本中我们就能够实现报警通知等功能。


性能监控-Redis Live
Redis Live是一个更通用的 Redis 监控方案,它的原理是定时在 Redis 上执行MONITOR命令,
来获取当前 Redis 当前正在执行的命令,并通过统计分析,生成web页面的可视化分析报表。


数据分布
-Redis-sampler
Redis-sampler是 Redis 作者开发的工具,它通过采用的方法,能够让你了解到当前 Redis 中的数据的大致类型,数据及分布状况。

-Redis-audit
Redis-audit是一个脚本,通过它,我们可以知道每一类 key 对内存的使用量。它可以提供的数据有:某一类 key 值的访问频率如何,
有多少值设置了过期时间,某一类 key 值使用内存的大小,这很方便让我们能排查哪些 key 不常用或者压根不用。

-Redis-rdb-tools
Redis-rdb-tools跟 Redis-audit 功能类似,不同的是它是通过对 rdb 文件进行分析来取得统计数据的。


1、redis-benchmark 
redis基准信息,redis服务器性能检测 

redis-benchmark -h localhost -p 6379 -c 100 -n 100000 
100个并发连接,100000个请求,检测host为localhost 端口为6379的redis服务器性能 
 
2、redis-cli 

redis-cli -h localhost -p 6379 monitor 
Dump all the received requests in real time; 
监控host为localhost,端口为6379,redis的连接及读写操作 
 
redis-cli -h localhost -p 6379 info 
Provide information and statistics about the server ; 
提供host为localhost,端口为6379,redis服务的统计信息





  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值