Redis 简介
Redis 是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据库。
Redis 与其他 key - value 缓存产品有以下三个特点:
Redis支持数据的持久化,可以将内存中的数据保持在磁盘中,重启的时候可以再次加载进行使用。
Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。
Redis支持数据的备份,即master-slave模式的数据备份。
Redis 优势
性能极高 – Redis能读的速度是110000次/s,写的速度是81000次/s 。
丰富的数据类型 – Redis支持二进制案例的 Strings, Lists, Hashes, Sets 及 Ordered Sets 数据类型操作。
原子 – Redis的所有操作都是原子性的,同时Redis还支持对几个操作全并后的原子性执行。
丰富的特性 – Redis还支持 publish/subscribe, 通知, key 过期等等特性。
Redis与其他key-value存储有什么不同?
Redis有着更为复杂的数据结构并且提供对他们的原子性操作,这是一个不同于其他数据库的进化路径。Redis的数据类型都是基于基本数据结构的同时对程序员透明,无需进行额外的抽象。
Redis运行在内存中但是可以持久化到磁盘,所以在对不同数据集进行高速读写时需要权衡内存,应为数据量不能大于硬件内存。在内存数据库方面的另一个优点是, 相比在磁盘上相同的复杂的数据结构,在内存中操作起来非常简单,这样Redis可以做很多内部复杂性很强的事情。 同时,在磁盘格式方面他们是紧凑的以追加的方式产生的,因为他们并不需要进行随机访问。
环境
CentOS 7.2 64位
搭建流程
下载,解压,编译安装
cd /opt
wget http://download.redis.io/releases/redis-4.0.1.tar.gz
tar xzf redis-4.0.1.tar.gz
cd redis-4.0.1
make
创建配置
redis默认的 redis.conf 配置文件内容太多,很多配置,不太好,如果后面用的时候,再往自己定义的配置文件加
1.创建 redis-sentinel 目录 用于放自定义配置文件启动 redis.conf
mkdir redis-sentinel
2.在 redis-sentinel 目录下,创建 redis.conf
cd /opt/redis-4.0.1/redis-sentinel
vim redis.conf
3.把如下Redis.conf 配置内容粘贴进去
Redis.conf 配置
port 6379
# bind 127.0.0.1
daemonize yes
pidfile /var/run/redis_6379.pid
appendonly yes
requirepass 123456
redis.conf 配置说明
#端口7000
port 7000
#默认IP为127.0.0.1,需要改为其他节点机器可访问的IP
bind 192.168.252.101
#redis后台运行
daemonize yes
#当 Redis 以守护进程的方式运行的时候,Redis 默认会把 pid 文件放在/var/run/redis_6379.pid
pidfile /var/run/redis_6379.pid
#aof日志开启,有需要就开启,它会每次写操作都记录一条日志
appendonly yes
#requirepass,密码认证,不需要可以给前面加个 # 注释掉,为了方便测试,密码给改成了123456
requirepass 123456
设置完,按“ESC”键,输入:wq!保存退出
启动服务
使用指定配置文件启动
./redis-server ../redis-sentinel/redis.conf
image.png
查看启动状态
ps -ef | grep redis
image.png
编辑redis开机启动redis脚本
vim /etc/init.d/redis
image.png
在/etc/init.d/redis文件中添加以下内容
#!/bin/sh
#kconfig: 345 86 14
#description: Startup and shutdown script for Redis
PROGDIR=/opt/redis-4.0.1 #安装路径
PROGNAME=src/redis-server
DAEMON=$PROGDIR/$PROGNAME
CONFIG=/opt/redis-4.0.1/redis-sentinel/redis.conf
PIDFILE=/var/run/redis_6379.pid
DESC="redis daemon"
SCRIPTNAME=/etc/rc.d/init.d/redis
start()
{
if test -x $DAEMON
then
echo -e "Starting $DESC: $PROGNAME"
if $DAEMON $CONFIG
then
echo -e "OK"
else
echo -e "failed"
fi
else
echo -e "Couldn't find Redis Server ($DAEMON)"
fi
}
stop()
{
if test -e $PIDFILE
then
echo -e "Stopping $DESC: $PROGNAME"
if kill `cat $PIDFILE`
then
echo -e "OK"
else
echo -e "failed"
fi
else
echo -e "No Redis Server ($DAEMON) running"
fi
}
restart()
{
echo -e "Restarting $DESC: $PROGNAME"
stop
start
}
list()
{
ps aux | grep $PROGNAME
}
case $1 in
start)
start
;;
stop)
stop
;;
restart)
restart
;;
list)
list
;;
*)
echo "Usage: $SCRIPTNAME {start|stop|restart|list}" >&2
exit 1
;;
esac
exit 0
设置权限
chmod 755 /etc/init.d/redis
image.png
使用脚本启动
service redis start
image.png
停止服务
service redis stop
image.png
重启服务
service redis restart
image.png
查看进程
service redis list
image.png
Redis Desktop Manager连接Redis
Redis Desktop Manager是Redis图形化管理工具,方便管理人员更方便直观地管理Redis数据。
然而在使用Redis Desktop Manager之前,有几个要素需要注意:
编辑防火墙配置文件
vim /etc/sysconfig/iptables
加入
-A INPUT -p tcp -m state --state NEW -m tcp --dport 6379 -j ACCEPT
设置完,按“ESC”键,输入:wq!保存退出
重启防火墙配置
systemctl restart iptables.service
可以在window系统中的cmd命令里输入telnet 192.168.8.129 6379,看是否Telnet通
如果不报错,并且进入了如图界面,证明配置没有问题
image.png
如果上面都没问题,可以用Redis Desktop Manager工具连接192.168.8.129服务器里的redis服务了
image.png
网友评论