广丰视角

关注互联网,关注技术开发,透析与分享移动互联网行业最新动态

linux redis

时间:2019-02-17 13:33:29    阅读:99427次 分类:小程序开发
1、下载 wget http://download.redis.io/releases/redis-2.8.7.tar.gz下载后的文件在当前目录里 redis-2.8.7.tar.gz 2、编译安装 tar xf redis-2.8.7.tar.gz cd redis-2.8.7make make install 如果没有安装gcc的话会提示gcc not found 于是就需要安装一下...

1、下载
wget http://download.redis.io/releases/redis-2.8.7.tar.gz下载后的文件在当前目录里 redis-2.8.7.tar.gz
2、编译安装
tar xf redis-2.8.7.tar.gz
cd redis-2.8.7make
make install
如果没有安装gcc的话会提示gcc not found 于是就需要安装一下gcc: yum -y install gcc 因为刚开始把yum的源换成163的了,怎么都不行,后来逼迫无奈换回原来的,结果就好了 辛亏刚开始就备份了系统自带的,可见备份配置文件的好处 其实最好的方法应该是设置添加第三方的源并默认选择最快的,可以参考 装好之后重新执行一下上边的
3、创建配置文件

mkdir /etc/rediscp redis.conf /etc/redis/redis.conf
4、调整下内存分配使用方式并使其生效
echo “vm.overcommit_memory=1”>>/etc/sysctl.conf
此参数可用的值为0,1,2 #0表示当用户空间请求更多的内存时,内核尝试估算出可用的内存* *1表示内核允许超量使用内存直到内存用完为止* *2表示整个内存地址空间不能超过`swap+(vm.overcommit_ratio)%`的RAM值*
sysctl -p
5、 修改redis配置
vi /etc/redis/redis.conf
daemonize   yes 
    redis以守护进程的方式运行, #no表示不以守护进程的方式运行(会占用一个终端)  timeout 300 客户端闲置多长时间后断开连接,默认为0关闭此功能 loglevel  verbose 设置redis日志级别 logfile stdout 设置日志文件的输出方式,如果以守护进程的方式运行redis 并且日志输出设置为stdout,那么日志信息就输出到/dev/null里面去了
6、启动redis

redis-server /etc/redis/redis.conf
7、测试redis
[root@localhost redis]# redis-cli 127.0.0.1:6379> set name wayne
OK 127.0.0.1:6379> get name "wayne" 127.0.0.1:6379>


redis问题解决(MISCONF Redis is configured to save RDB snapshots)
    (error) MISCONF Redis is configured to save RDB snapshots, but is currently not able to persist on disk. Commands that may modify the data set are disabled. Please check Redis logs for details about the error.
    使用如下命令解决:
    config set stop-writes-on-bgsave-error no


1、安装编译工具

yum install wget  make gcc gcc-c++ zlib-devel openssl openssl-devel pcre-devel kernel keyutils  patch perl

2、安装tcl组件包(安装Redis需要tcl支持)

下载:http://downloads.sourceforge.net/tcl/tcl8.6.1-src.tar.gz
上传tcl8.6.1-src.tar.gz到/usr/local/src目录

cd /usr/local/src #进入软件包存放目录

tar  zxvf  tcl8.6.1-src.tar.gz  #解压



cd tcl8.6.1 #进入安装目录




cd unix




./configure --prefix=/usr   --without-tzdata    --mandir=/usr/share/man $([ $(uname -m) = x86_64 ] && echo --enable-64bit)   #配置




make #编译




sed -e "s@^(TCL_SRC_DIR=').*@1/usr/include'@"  -e "/TCL_B/s@='(-L)?.*unix@='1/usr/lib@"  -i tclConfig.sh




make install  #安装




make install-private-headers




ln -v -sf tclsh8.6 /usr/bin/tclsh




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




3、安装Redis




下载:http://download.redis.io/redis-stable.tar.gz




上传redis-stable到/usr/local/src目录




cd /usr/local/src




tar -zxvf redis-stable.tar.gz #解压




mv redis-stable  /usr/local/redis #移动文件到安装目录




cd /usr/local/redis  #进入安装目录




make #编译




make install #安装




cd  /usr/local/bin #查看是否有下面文件,如果没有,拷贝下面文件到/usr/local/bin目录




cd /usr/local/redis




mkdir -p /usr/local/bin




cp -p redis-server /usr/local/bin




cp -p redis-benchmark /usr/local/bin




cp -p redis-cli /usr/local/bin




cp -p redis-check-dump /usr/local/bin




cp -p redis-check-aof /usr/local/bin




ln -s  /usr/local/redis/redis.conf  /etc/redis.conf  #添加配置文件软连接




vi /etc/redis.conf  #编辑




daemonize yes  #设置后台启动redis




:wq! #保存退出




redis-server /etc/redis.conf  #启动redis服务




redis-cli shutdown  #关闭redis




vi /etc/sysctl.conf #编辑,在最后一行添加下面代码




vm.overcommit_memory = 1




:wq! #保存退出




sysctl -p #使设置立即生效




4、设置redis开机启动




vi /etc/init.d/redis   #编辑,添加以下代码




#!/bin/sh




# chkconfig:   2345 90 10




# description:  Redis is a persistent key-value database




# redis    Startup script for redis processes




# processname: redis




redis_path="/usr/local/bin/redis-server"




redis_conf="/etc/redis.conf"




redis_pid="/var/run/redis.pid"




# Source function library.




. /etc/rc.d/init.d/functions




[ -x $redis_path ] || exit 0




RETVAL=0




prog="redis"




# Start daemons.




start() {




if [ -e $redis_pid -a ! -z $redis_pid ];then




echo $prog" already running...."




exit 1




fi




echo -n $"Starting $prog "




# Single instance for all caches




$redis_path $redis_conf




RETVAL=$?




[ $RETVAL -eq 0 ] && {




touch /var/lock/subsys/$prog




success $"$prog"




}




echo




return $RETVAL




}




# Stop daemons.




stop() {




echo -n $"Stopping $prog "




killproc -d 10 $redis_path




echo




[ $RETVAL = 0 ] && rm -f $redis_pid /var/lock/subsys/$prog




RETVAL=$?




return $RETVAL




}




# See how we were called.




case "$1" in




start)




start




;;




stop)




stop




;;




status)




status $prog




RETVAL=$?




;;




restart)




stop




start




;;




condrestart)




if test "x`pidof redis`" != x; then




stop




start




fi




;;




*)




echo $"Usage: $0 {start|stop|status|restart|condrestart}"




exit 1




esac




exit $RETVAL




:wq! #保存退出




chmod 755 /etc/init.d/redis  #添加脚本执行权限




chkconfig --add redis  #添加开启启动




chkconfig --level 2345 redis on  #设置启动级别




chkconfig --list redis  #查看启动级别




service redis restart  #重新启动redis




系统运维  www.osyunwei.com  温馨提醒:qihang01原创内容 版权所有,转载请注明出处及原文链接




5、设置redis配置文件参数




mkdir -p /usr/local/redis/var  #创建redis数据库存放目录




vi /etc/redis.conf  #编辑




daemonize yes  #以后台daemon方式运行redis




pidfile "/var/run/redis.pid"  #redis以后台运行,默认pid文件路径/var/run/redis.pid




port 6379  #默认端口




bind 127.0.0.1 #默认绑定本机所有ip地址,为了安全,可以只监听内网ip




timeout 300 #客户端超时设置,单位为秒




loglevel verbose  #设置日志级别,支持四个级别:debug、notice、verbose、warning




logfile stdout  #日志记录方式,默认为标准输出,logs不写文件,输出到空设备/deb/null




logfile "/usr/local/redis/var/redis.log"  #可以指定日志文件路径




databases 16  #开启数据库的数量




save 900 1




save 300 10




save 60 10000




创建本地数据库快照,格式:save * *




900秒内,执行1次写操作




300秒内,执行10次写操作




60秒内,执行10000次写操作




rdbcompression yes #启用数据库lzf压缩,也可以设置为no




dbfilename dump.rdb  #本地快照数据库名称




dir "/usr/local/redis/var/"   #本地快照数据库存放目录




requirepass 123456  #设置redis数据库连接密码
1、下载




wget http://download.redis.io/releases/redis-2.8.7.tar.gz下载后的文件在当前目录里 redis-2.8.7.tar.gz
2、编译安装




tar xf redis-2.8.7.tar.gz
cd redis-2.8.7make
make install
如果没有安装gcc的话会提示gcc not found 于是就需要安装一下gcc: yum -y install gcc 因为刚开始把yum的源换成163的了,怎么都不行,后来逼迫无奈换回原来的,结果就好了 辛亏刚开始就备份了系统自带的,可见备份配置文件的好处 其实最好的方法应该是设置添加第三方的源并默认选择最快的,可以参考 装好之后重新执行一下上边的
3、创建配置文件




mkdir /etc/rediscp redis.conf /etc/redis/redis.conf
4、调整下内存分配使用方式并使其生效




echo “vm.overcommit_memory=1”>>/etc/sysctl.conf
此参数可用的值为0,1,2 #0表示当用户空间请求更多的内存时,内核尝试估算出可用的内存* *1表示内核允许超量使用内存直到内存用完为止* *2表示整个内存地址空间不能超过`swap+(vm.overcommit_ratio)%`的RAM值*
sysctl -p
5、 修改redis配置




vi /etc/redis/redis.conf
daemonize   yes 
    redis以守护进程的方式运行, #no表示不以守护进程的方式运行(会占用一个终端)  timeout 300 客户端闲置多长时间后断开连接,默认为0关闭此功能 loglevel  verbose 设置redis日志级别 logfile stdout 设置日志文件的输出方式,如果以守护进程的方式运行redis 并且日志输出设置为stdout,那么日志信息就输出到/dev/null里面去了
6、启动redis




redis-server /etc/redis/redis.conf
7、测试redis




[root@localhost redis]# redis-cli 127.0.0.1:6379> set name wayne
OK 127.0.0.1:6379> get name "wayne" 127.0.0.1:6379>


redis问题解决(MISCONF Redis is configured to save RDB snapshots)
    (error) MISCONF Redis is configured to save RDB snapshots, but is currently not able to persist on disk. Commands that may modify the data set are disabled. Please check Redis logs for details about the error.
    使用如下命令解决:
    config set stop-writes-on-bgsave-error no


1、安装编译工具




yum install wget  make gcc gcc-c++ zlib-devel openssl openssl-devel pcre-devel kernel keyutils  patch perl




2、安装tcl组件包(安装Redis需要tcl支持)




下载:http://downloads.sourceforge.net/tcl/tcl8.6.1-src.tar.gz




上传tcl8.6.1-src.tar.gz到/usr/local/src目录




cd /usr/local/src #进入软件包存放目录




tar  zxvf  tcl8.6.1-src.tar.gz  #解压




cd tcl8.6.1 #进入安装目录




cd unix




./configure --prefix=/usr   --without-tzdata    --mandir=/usr/share/man $([ $(uname -m) = x86_64 ] && echo --enable-64bit)   #配置




make #编译




sed -e "s@^(TCL_SRC_DIR=').*@1/usr/include'@"  -e "/TCL_B/s@='(-L)?.*unix@='1/usr/lib@"  -i tclConfig.sh




make install  #安装




make install-private-headers




ln -v -sf tclsh8.6 /usr/bin/tclsh




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




3、安装Redis




下载:http://download.redis.io/redis-stable.tar.gz




上传redis-stable到/usr/local/src目录




cd /usr/local/src




tar -zxvf redis-stable.tar.gz #解压




mv redis-stable  /usr/local/redis #移动文件到安装目录




cd /usr/local/redis  #进入安装目录




make #编译




make install #安装




cd  /usr/local/bin #查看是否有下面文件,如果没有,拷贝下面文件到/usr/local/bin目录




cd /usr/local/redis




mkdir -p /usr/local/bin




cp -p redis-server /usr/local/bin




cp -p redis-benchmark /usr/local/bin




cp -p redis-cli /usr/local/bin




cp -p redis-check-dump /usr/local/bin




cp -p redis-check-aof /usr/local/bin




ln -s  /usr/local/redis/redis.conf  /etc/redis.conf  #添加配置文件软连接




vi /etc/redis.conf  #编辑




daemonize yes  #设置后台启动redis




:wq! #保存退出




redis-server /etc/redis.conf  #启动redis服务




redis-cli shutdown  #关闭redis




vi /etc/sysctl.conf #编辑,在最后一行添加下面代码




vm.overcommit_memory = 1




:wq! #保存退出




sysctl -p #使设置立即生效




4、设置redis开机启动




vi /etc/init.d/redis   #编辑,添加以下代码




#!/bin/sh




# chkconfig:   2345 90 10




# description:  Redis is a persistent key-value database




# redis    Startup script for redis processes




# processname: redis




redis_path="/usr/local/bin/redis-server"




redis_conf="/etc/redis.conf"




redis_pid="/var/run/redis.pid"




# Source function library.




. /etc/rc.d/init.d/functions




[ -x $redis_path ] || exit 0




RETVAL=0




prog="redis"




# Start daemons.




start() {




if [ -e $redis_pid -a ! -z $redis_pid ];then




echo $prog" already running...."




exit 1




fi




echo -n $"Starting $prog "




# Single instance for all caches




$redis_path $redis_conf




RETVAL=$?




[ $RETVAL -eq 0 ] && {




touch /var/lock/subsys/$prog




success $"$prog"




}




echo




return $RETVAL




}




# Stop daemons.




stop() {




echo -n $"Stopping $prog "




killproc -d 10 $redis_path




echo




[ $RETVAL = 0 ] && rm -f $redis_pid /var/lock/subsys/$prog




RETVAL=$?




return $RETVAL




}




# See how we were called.




case "$1" in




start)




start




;;




stop)




stop




;;




status)




status $prog




RETVAL=$?




;;




restart)




stop




start




;;




condrestart)




if test "x`pidof redis`" != x; then




stop




start




fi




;;




*)




echo $"Usage: $0 {start|stop|status|restart|condrestart}"




exit 1




esac




exit $RETVAL




:wq! #保存退出




chmod 755 /etc/init.d/redis  #添加脚本执行权限




chkconfig --add redis  #添加开启启动




chkconfig --level 2345 redis on  #设置启动级别




chkconfig --list redis  #查看启动级别




service redis restart  #重新启动redis




系统运维  www.osyunwei.com  温馨提醒:qihang01原创内容 版权所有,转载请注明出处及原文链接




5、设置redis配置文件参数




mkdir -p /usr/local/redis/var  #创建redis数据库存放目录




vi /etc/redis.conf  #编辑




daemonize yes  #以后台daemon方式运行redis




pidfile "/var/run/redis.pid"  #redis以后台运行,默认pid文件路径/var/run/redis.pid




port 6379  #默认端口




bind 127.0.0.1 #默认绑定本机所有ip地址,为了安全,可以只监听内网ip




timeout 300 #客户端超时设置,单位为秒




loglevel verbose  #设置日志级别,支持四个级别:debug、notice、verbose、warning




logfile stdout  #日志记录方式,默认为标准输出,logs不写文件,输出到空设备/deb/null




logfile "/usr/local/redis/var/redis.log"  #可以指定日志文件路径




databases 16  #开启数据库的数量




save 900 1




save 300 10




save 60 10000




创建本地数据库快照,格式:save * *




900秒内,执行1次写操作




300秒内,执行10次写操作




60秒内,执行10000次写操作




rdbcompression yes #启用数据库lzf压缩,也可以设置为no




dbfilename dump.rdb  #本地快照数据库名称




dir "/usr/local/redis/var/"   #本地快照数据库存放目录




requirepass 123456  #设置redis数据库连接密码


芜湖广丰软件有限公司(原中江网络),成立于2005年,经过10多年定制开发经验,积累了大量技术储备和定制开发经验,是一家集软件研发、互联网应用为一体的综合信息技术服务提供商。公司拥有核心的策划团队和专业的技术研发团队,致力于采用领先的信息技术,长期为涉及智慧园区/厂区/校园领域的各个企业提供快速、高效、安全的信息技术支持。公司立足智慧园区和智慧教育行业,通过软硬件的研发和互联网应用,疏通各企业间“端到端”的信息传输,灵活满足智慧园区和智慧教育企业间不同用户的需求,为其提供完善的信息化解决方案。

广丰软件
智慧园区系统开发