你的位置:首页 > 数据库

[数据库]redis的简单安装配置


一、简介

  • Redis是一种高级key-value数据库,数据可以持久化,支持的数据类型很丰富,有字符串,哈希,链表,集合和有序集合5种数据类型

  • Redis支持在服务器端计算集合的并,交和补集(difference)等,还支持多种排序功能,所以Redis也可以被看成是一个数据结构服务器

  • Redis的所有数据都是保存在内存中,然后不定期的通过异步方式保存到磁盘上(半持久化模式);也可以把每一次数据变化都写入到一个append only file(aof)里面(全持久化模式)

二、Redis安装

安装tclsh

Redis在make test有使用到tclsh对Redis进行测试,所有需要想将tclsh安装好,如果没有安装的话,在make test过程中会出现如下错误:

# wget http://hivelocity.dl.sourceforge.net/project/tcl/Tcl/8.5.14/tcl8.5.14-src.tar.gz# tar xzvf tcl8.5.14-src.tar.gz# cd tcl8.5.14-src/unix   #windows进入tcl8.5.14-src/win# ./configure --prefix=/app/soft/tcl8.5.11 --enable-64bit #enable-64bit对64系统生效# make && make installan 

安装完成之后需要将tclsh添加到PATH中,并使其生效

# vim /etc/profile···PATH=/app/soft/tcl8.5.11/bin:$PATHexport PATH···# source /etc/profile

安装Redis

# cd /usr/loca/src# wget http://redis.googlecode.com/files/redis-2.6.14.tar.gz# tar xzvf redis-2.6.14.tar.gz# cd redis-2.6.14# make# make test  #检查Redis是否已经make成功,这个步骤可以省略,不过建议还是使用# make PREFIX=/usr/local/redis install #默认安装路径:/usr/local

三、配置Redis

Redis.conf

# cat redis.conf|grep -v ^#daemonize yes      #开启守护进程pidfile /var/run/redis.pid  #设置PID文件port 6579        #设置Redis端口timeout 300tcp-keepalive 0loglevel verbose    #设置日志级别syslog-enabled yes   #开启syslogsyslog-ident redis   #设置Redis在syslog里面的标识符syslog-facility local6 #设置Redis在syslog使用的设备databases 5save 900 1       #Redis硬盘数据保存设置save 300 10save 60 10000stop-writes-on-bgsave-error yesrdbcompression yesrdbchecksum yesdbfilename dump.rdb  #Redis数据保存文件dir ./  #Redis数据保存目录slaveof 183.232.10.64 6579    #开启主从同步,设置Master的IP及端口masterauth Dmx#xYkJ0Z8      #设置主从同步密码slave-serve-stale-data yesslave-read-only yesrepl-disable-tcp-nodelay noslave-priority 100requirepass Dmx#xYkJ0Z8      #设置Redis认证密码maxclients 10000          #设置客户端连接数maxmemory 512M           #设置内容大小appendonly no           #设置是否开启AOF模式appendfsync everysecno-appendfsync-on-rewrite noauto-aof-rewrite-percentage 100auto-aof-rewrite-min-size 64mblua-time-limit 5000slowlog-log-slower-than 10000slowlog-max-len 128hash-max-ziplist-entries 512hash-max-ziplist-value 64list-max-ziplist-entries 512list-max-ziplist-value 64set-max-intset-entries 512zset-max-ziplist-entries 128zset-max-ziplist-value 64activerehashing yesclient-output-buffer-limit normal 0 0 0client-output-buffer-limit slave 256mb 64mb 60client-output-buffer-limit pubsub 32mb 8mb 60hz 10aof-rewrite-incremental-fsync yes

日志设置

通过Redis日志的配置可以知道,这次设置Redis日志是通过syslog来统一管理的,然后再通过logrotate来进行日志轮循,具体配置如下:

##syslog配置# cat /etc/syslog.conf···# Log anything (except mail) of level info or higher.# Don't log private authentication messages!*.info;mail.none;authpriv.none;cron.none;redis.none  /var/log/messages#redis.none去除Redis的日志输出到message···# Save redis messages also to redis.loglocal6.*                       /var/log/redis.log#设置Redis日志输入到/var/log/redis.log文件···##logrotate配置# cat /etc/logrotate.d/redis/var/log/redis.log {  missingok  weekly  notifempty  rotate 15  size 200M  sharedscripts  postrotate    /usr/bin/killall -HUP syslogd  endscript}

logrotate配置文档的意思为:每周检查一次Redis日志文件,大小超过200M就轮循一次,保存15个轮循日志文件。

内核设置

因为Redis需要使用到内存,所有最好配置一个内核参数,否则有可能会报警,具体如下:

# cat /etc/sysctl.conf···vm.overcommit_memory = 1 #指定内核针对内存分配的策略,其值可以是0,1,2···# 0 → 表示内核将检查是否有足够的可用内存供应用进程使用;如果有足够的可用内存,内存申请允许;否则,内存申请失败,并把错误返回给应用进程。# 1 → 表示内核允许分配所有的物理内存,而不管当前的内存状态如何# 2 → 表示内核允许分配超过所有物理内存和交换空间总和的内存# sysctl -p

四、Redis启动与关闭

启动脚本

#!/bin/sh## redis - this script starts and stops the redis-server daemon## chkconfig:  - 85 15# description: Redis is a persistent key-value database# processname: redis-server# config:   /etc/redis/redis.conf# config:   /etc/sysconfig/redis# pidfile:   /var/run/redis.pid# Source function library.. /etc/rc.d/init.d/functions# Source networking configuration.. /etc/sysconfig/network# Check that networking is up.[ "$NETWORKING" = "no" ] && exit 0source /etc/init.d/functionsredis="/usr/local/redis/src/redis-server"prog=$(basename $redis)REDIS_CONF_FILE="/usr/local/redis/redis.conf"PIDFILE="/var/run/redis.pid"[ -f /etc/sysconfig/redis ] && . /etc/sysconfig/redislockfile=/var/lock/subsys/redisstart() {    if [ -e $PIDFILE ];then       echo "$desc already running...."       exit 1    fi    echo -n $"Starting $prog: "    daemon $redis $REDIS_CONF_FILE    RETVAL=$?    echo    [ $RETVAL -eq 0 ] && touch /var/lock/subsys/$prog    return $RETVAL}stop() {  echo -n $"Stopping $prog: "  killproc $prog -QUIT  retval=$?  echo  [ $retval -eq 0 ] && rm -f /var/lock/subsys/$prog $PIDFILE  return $retval}restart() {  stop  start}reload() {  echo -n $"Reloading $prog: "  killproc $redis -HUP  RETVAL=$?  echo}force_reload() {  restart}rh_status() {  status $prog}rh_status_q() {  rh_status >/dev/null 2>&1}case "$1" in  start)    rh_status_q && exit 0    $1    ;;  stop)    rh_status_q || exit 0    $1    ;;  restart|configtest)    $1    ;;  reload)    rh_status_q || exit 7    $1    ;;  force-reload)    force_reload    ;;  status)    rh_status    ;;  condrestart|try-restart)    rh_status_q || exit 0    ;;  *)    echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload}"    exit 2esac

五、Redis服务验证

./redis-cli 登录,然后再通过ping、info、命令查看redis情况,具体示例如下:

# ./redis-cli -h localhost -p 6579 -a passwordredis localhost:6579> info

 






深圳去加拿大旅游报价办理加拿大旅游签证跟团加拿大旅游需要多少钱几月份去加拿大旅游最好什么时候去加拿大旅游最便宜佛冈田野绿世界门票预订?田野绿世界优惠票多少钱? 一叶知秋 看尽四川十大最美秋色 敏捷黄金海岸水晶湖有什么玩的?阳江敏捷黄金海岸水晶湖项目有什么? 阳江黄金海岸景区项目有哪些?阳江敏捷黄金海岸景区一天游攻略? 有胆你就来!《京城81号》带热鬼宅惊悚游[二] 鐩樼偣鍥藉唴鏄ュ厜鏈€缇庣殑鍏ぇ楠戣澶╁爞 阿雅娜水疗度假酒店揭幕全新海景婚礼场地 揭秘:国际游客在英国买什么 惠州到长隆欢乐世界自驾车路线? 2015端午节广州天气怎样呢?适合赛龙舟吗? 河源越王山自助游? 珠海九洲水会水疗区开放时间是什么时候? 台北不打烊 关于台北的20种生活方式(全文) 海南欢乐节时间?2015海南欢乐节几号到几号? 2015年海南欢乐节具体时间?海南欢乐节2015时间? 海南欢乐节2015有什么活动?2015海南欢乐节活动介绍? LMP2232BMA/NOPB Datasheet LMP2232BMA/NOPB Datasheet LM3670MFX-2.5/NOPB Datasheet LM3670MFX-2.5/NOPB Datasheet DS42MB200TSQ/NOPB Datasheet DS42MB200TSQ/NOPB Datasheet 贵州旅游线路推荐 贵州旅游线路推荐 贵州旅游线路推荐 贵州旅游路线 贵州旅游路线 贵州旅游路线 马尔代夫蜜月游 马尔代夫蜜月游 马尔代夫蜜月游