linux redis安装源码包安装
来源:互联网 发布:重生之网络女主播 编辑:程序博客网 时间:2024/06/05 14:17
Redis server v=3.0.3 sha=00000000:0 malloc=jemalloc-3.6.0 bits=64 build=f6bac5c8ae9a4bde
[root@localhost ~]#
操作系统:CentOS
1、安装编译工具
yum install wget make gcc gcc-c++ zlib-devel openssl openssl-devel pcre-devel kernel keyutils patch perl
2、安装tcl组件包(安装Redis需要tcl支持) 有些系统自带安装了,rpm查询下。
tar -zxvf redis-stable.tar.gz #解压
mv redis-stable/* /usr/local/redis #移动文件到安装目录 // 不能用这个方式: ./configure --prefix=/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 #添加配置文件软连接
daemonize yes #设置后台启动redis
:wq! #保存退出
- daemonize yes #默认为on。yes为转为守护进程,否则启动时会每隔5秒输出一行监控信息
- save 900 1 #900秒内如果有一个key发生变化时,则将数据写入进镜像
- maxmemory 256000000 #分配256M内存
rhel系列
- 6379 ALLOW Anywhere
第一步#cd /usr/local/redis/ // redis的安装目录 或者进入/usr/local/bin 下面执行也可以
1为标准输出,2为错误输出
- vi /etc/rc.local#加入
- /usr/local/bin/redis-server /etc/redis.conf 1>/var/log/redis/infolog.log 2>/var/log/redis/errlog.log & // & 表示后台运行
- redis-cli
- redis 127.0.0.1:6379> set redisKey value
- OK
- redis 127.0.0.1:6379> get redisKey
- "value"
- redis 127.0.0.1:6379> del redisKey
- (integer) 1
- redis 127.0.0.1:6379> exists key
- (integer) 0
src/redis-cli shutdown //注意是redis-cli
取出当前匹配的所有key
> exists larry
(integer) 0
当前的key是否存在
del lv
删除当前key
expire
设置过期时间
> expire larry 10
(integer) 1
> move larry ad4
(integer) 1
移动larry键值对到ad4数据库
> persist lv
(integer) 1
移除当前key的过期时间
randomkey
随机返回一个key
rename
重命名key
type
返回值的数据类型
type testlist
list
> ping
PONG
测试连接是否还在
>echo name
"larry"
打印
> select ad4databank
OK
数据库切换
> quit
退出连接
> dbsize
(integer) 12
当前数据库中key的数量
> info
服务器基本信息
monitor
实时转储收到的请求
config get
获取服务器的参数配置
flushdb
清空当前数据库
flushall
清除所有数
六、遇到问题
我用java操作redis时,报过这样的错误:
(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.
解决:
- redis-cli
- config set stop-writes-on-bgsave-error no
脚本功能:
实现redis单机多实例情况下的正常启动、关闭、重启单个redis实例。完成系统标准服务的以下常用功能: start|stop|status|restart
注:redis程序代码屏蔽了HUP信号,不支持在线重载配置文件,故去掉reload功能。
本脚本优化了redis停止和重启逻辑,解决原redis脚本关闭时会造成数据丢失问题。
脚本名称:
redis #在多实例里可以按实例端口,如:redis-6001命名,以区分不同实例
脚本用法: 设置开机自启动需要启动脚本
1.在/etc/rc.d/init.d/目录下新建redis文件,将脚本内容拷贝进去
2. chkconfig --add redis #注册服务
3. chkconfig --level 345 redis on #指定服务在3、4、5级别运行
4.本人redis程序安装在/usr/local/redis目录下,配置为/usr/local/redis/bin/redis.conf,如安装在其他目录,请自行修改
脚本参数:
redis -p [port] [start|stop|status|restart]
参数说明:
-p [port] : 指定redis实例的端口,用于多实例的服务器
start:启动指定端口的Redis服务
stop:停止指定端口的Redis服务
status:进程状态
restart:先关闭Redis服务,再启动Redis服务
注:不指定端口时,脚本默认指定启动6379端口的redis
用法实例:
service redis -p 6381 start #启动6381端口实例的redis
/etc/init.d/redis start #默认启动6379端口实例的redis
#description: Starts,stops and restart the redis-server
#!/bin/bash
#chkconfig: 2345 55 25
#description: Starts,stops and restart the redis-server
#Ver:1.1
#Write by ND chengh(200808)
#usage: ./script_name -p [port] {start|stop|status|restart}
# Source function library.
. /etc/rc.d/init.d/functions
# Source networking configuration.
. /etc/sysconfig/network
# Check networking is up.
[ "$NETWORKING" = "no" ] && exit 0
RETVAL=0
REDIS_PORT=6379 #设置端口
PID=
if [ "$1" = "-p" ]; then
REDIS_PORT=$2
shift 2
fi
REDIS_DIR="/usr/local/redis" #这个和我的相同 ,redis的根目录
REDIS="${REDIS_DIR}/bin/redis-server" #我的/usr/local/redis/src/redis-server 目录不一样,
PROG=$(basename $REDIS)
CONF="${REDIS_DIR}/bin/redis-${REDIS_PORT}.conf" #我的文件目录 /usr/local/redis/redis.conf
if [ ! -f $CONF ]; then
if [ -f "${REDIS_DIR}/bin/redis.conf" ];then #我的目录 /usr/local/redis/redis.conf
CONF="${REDIS_DIR}/bin/redis.conf" #我的目录 /usr/local/redis/redis.conf
else
echo -n $"$CONF not exist.";warning;echo
exit 1
fi
fi
PID_FILE=`grep "pidfile" ${CONF}|cut -d ' ' -f2`
PID_FILE=${PID_FILE:=/var/run/redis.pid}
LOCKFILE="/var/lock/subsys/redis-${REDIS_PORT}"
if [ ! -x $REDIS ]; then
echo -n $"$REDIS not exist.";warning;echo
exit 0
fi
start() {
echo -n $"Starting $PROG: "
$REDIS $CONF
RETVAL=$?
if [ $RETVAL -eq 0 ]; then
success;echo;touch $LOCKFILE
else
failure;echo
fi
return $RETVAL
}
stop() {
echo -n $"Stopping $PROG: "
if [ -f $PID_FILE ] ;then
read PID < "$PID_FILE"
else
failure;echo;
echo -n $"$PID_FILE not found.";failure;echo
return 1;
fi
if checkpid $PID; then
kill -TERM $PID >/dev/null 2>&1
RETVAL=$?
if [ $RETVAL -eq 0 ] ;then
success;echo
echo -n "Waiting for Redis to shutdown .."
while checkpid $PID;do
echo -n "."
sleep 1;
done
success;echo;rm -f $LOCKFILE
else
failure;echo
fi
else
echo -n $"Redis is dead and $PID_FILE exists.";failure;echo
RETVAL=7
fi
return $RETVAL
}
restart() {
stop
start
}
rhstatus() {
status -p ${PID_FILE} $PROG
}
hid_status() {
rhstatus >/dev/null 2>&1
}
case "$1" in
start)
hid_status && exit 0
start
;;
stop)
rhstatus || exit 0
stop
;;
restart)
restart
;;
status)
rhstatus
RETVAL=$?
;;
*)
echo $"Usage: $0 -p [port] {start|stop|status|restart}"
RETVAL=1
esac
exit $RETVAL
- linux redis安装源码包安装
- Linux 源码 redis 安装
- Linux源码包安装
- redis安装(centos源码包安装)
- linux redis 数据库 源码安装
- linux源码编译安装redis
- linux通过安装包安装redis
- 源码包安装(RedHat Linux)
- Linux源码包的安装
- linux 安装源码包方法
- linux下安装源码包
- linux上安装源码包
- linux 源码包安装MySQL
- linux 源码包安装gcc
- linux源码包的安装
- Linux安装apache源码包
- Linux 源码包安装过程
- Linux-源码包安装软件
- 广播和多播
- 【CS学习】——UML结构
- 阿里巴巴中间件性能挑战赛(MOM篇)
- iOS讲解迷惑深入浅出值UICollectionView(集合视图)
- Charm Bracelet 3624 (01背包)
- linux redis安装源码包安装
- 必须采用初始化列表一共有三种情况
- iOS —— JSON 数据结构及其解析方式
- android使用java代码设置textview、button等内容颜色
- Log4j配置详解及不同的包(package)下的日志写入到不同的日志文件下
- HDU 2203:亲和串【KMP & strstr函数】
- 大数据学习篇:hadoop深入浅出系列之HDFS(八) ——RPC通信
- Android JSON数据与实体类之间的相互转化-------GSON的用法
- 如何使用Traceroute查询封包所经过的路由器