一、简介

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

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

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

二、Redis安装

安装tclsh

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

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

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

[root@dev ~]# vim /etc/profile
···
PATH=/app/soft/tcl8.5.11/bin:$PATH
export PATH
···
[root@dev ~]# source /etc/profile

安装Redis

[root@dev ~]# cd /usr/loca/src
[root@dev ~]# wget http://download.redis.io/releases/redis-3.0.6.tar.gz
[root@dev ~]# tar xzvf redis-3.0.6.tar.gz
[root@dev ~]# cd redis-3.0.6
[root@dev ~]# make
[root@dev ~]# make test #检查Redis是否已经make成功,这个步骤可以省略,不过建议还是使用
[root@dev ~]# make PREFIX=/usr/local/redis install #默认安装路径:/usr/local

三、配置Redis

Redis.conf

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

日志设置

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

##syslog配置
[root@dev ~]# 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.log
local6.* /var/log/redis.log
#设置Redis日志输入到/var/log/redis.log文件
···
##logrotate配置
[root@dev ~]# 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需要使用到内存,所有最好配置一个内核参数,否则有可能会报警,具体如下:

[root@dev ~]# 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 0 source /etc/init.d/functions redis="/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/redis lockfile=/var/lock/subsys/redis start() { 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 2
esac

五、Redis服务验证

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

[root@dev ~]# ./redis-cli -h localhost -p 6579 -a password
redis localhost:6579> info

redis的简单安装配置的更多相关文章

  1. Redis Cluster 简单安装配置

    1 新建目录 “/app/redis”,输入命令 mkdir -p /app/redis 2 先安装ruby-2.3.1.tar.gz 3 测试ruby是否安装成功,输入命令:gem,如果显示以下信息 ...

  2. tftp服务器简单安装配置

    tftp服务器最简单安装配置 1.安装tftp-server sudo apt-get install tftpd-hpa sudo apt-get install tftp-hpa(如果不需要客户端 ...

  3. Redis for linux安装配置之—-源码安装

    一‘redis单实例安装配置1.下载redis源码压缩包,并将其上传至服务器/usr/local2.解压redis源码压缩包  # tar -xzvf redis-3.2.12.tar.gz3.进入r ...

  4. java:安装tomcat8/tomcat9(简单安装配置)

    java:安装tomcat8/tomcat9(简单安装配置) pache-tomcat-8.5.23(免安装板) 1.安装完成后右击我的电脑—属性—高级系统设置—环境变量, 在系统变量中添加以下变量 ...

  5. redis简介及安装配置

    简介 redis是一个开源的高性能键值对数据库.它通过提供多种键值数据类型来适应不同场景下的存储需求,并借助许多高层级的接口使其可以胜任如缓存.队列系统等不同角色. 特性 存储结构:redis是远程字 ...

  6. 树莓派2系统DietPi简单安装配置使用介绍

    DietPi在Raspberrypi.org上的原帖:http://dwz.cn/HSrmY 版本发布很频繁,给原作者们点个赞.功能会越来越多,而且作者的定制观点很明确,适合树莓派的使用. 之前关于D ...

  7. linux环境下redis数据库的安装|配置|启动

    安装 下载:打开redis官方网站,推荐下载稳定版本(stable) 解压 tar zxvf redis-3.2.5.tar.gz 复制:推荐放到usr/local目录下 sudo mv -r red ...

  8. redis数据库的安装配置

    redis是当前比较热门的NOSQL系统之一,它是一个key-value存储系统.和Memcached类似,但很大程度补偿了memcached的不足,它支持存储的value类型相对更多,包括strin ...

  9. centos下gitlab的简单安装配置

    一.安装前配置yum源 #wget https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh #s ...

随机推荐

  1. C#设计模式——代理模式(Proxy Pattern)

    一.概述在软件开发中,有些对象由于创建成本高.访问时需要与其它进程交互等原因,直接访问会造成系统速度慢.复杂度增大等问题.这时可以使用代理模式,给系统增加一层间接层,通过间接层访问对象,从而达到隐藏系 ...

  2. JAVA的网络编程基础概念

    网络编程的目的就是指直接或间接地通过网络协议与其他计算机进行通讯.网络编程中有两个主要的问题,一个是如何准确的定位网络上一台或多台主机,另一个就是找到主机后如何可靠高效的进行数据传输.在TCP/IP协 ...

  3. Python入门笔记(23):模块

    一.模块基础 1.模块 自我包含,且有组织的代码片段就是模块 模块是Pyhon最高级别的程序组织单元,它将程序代码和数据封装起来以便重用.实际的角度,模块往往对应Python程序文件. 每个文件都是一 ...

  4. wpf 自定义消息框

    相信很多人用过MessageBox.show(),是不是觉得这个消息框有点丑呢,反正我是觉得有点丑的,所以我自己重写了一个.先不说,上两幅图对比先: 当然,也不是很好看,不过比原有的好多了. 不多说了 ...

  5. 3. Node.js REPL(交互式解释器)

    1. 双击安装完成的Node.js 或者在 cmd 中 执行"node"  可以启动node 的终端. 2. 在node终端中可以输入一些javascript语法, 例如: > ...

  6. javascript 之正则匹配HTML

    正则表达式 <(\S*?) [^>]*>.*?</\1>|<.*? /> 匹配 <html>hello</html>|<a> ...

  7. 环境搭建二 secureCRT配置

    上一篇里面讲到了虚拟机安装,以及secureCRT的远程连接.此篇文章介绍secureCRT的配置. 颜色设置 参考   http://jingyan.baidu.com/article/a681b0 ...

  8. ASP.NET Core 1.0开发Web API程序

    .NET Core版本:1.0.0-rc2Visual Studio版本:Microsoft Visual Studio Community 2015 Update 2开发及运行平台:Windows ...

  9. JavaScript 中有关时间对象的方法

    ECMAScript中的Date类型是在早期 Java 中的 Java.unile.Date 类基础上构建的.为此 Date 类型使用自 UTC (Coordinated Universal Time ...

  10. java响应微信用户信息(wechat4j)

    你的微信应用程序接收到用户发送的消息事件之后,可以进行响应.wechat4j支持多种消息的响应. wechat4j响应消息的部分在wechat4j的入口WechatSupport.java中定义,直接 ...