设为首页 收藏本站
查看: 824|回复: 0

[经验分享] Redis学习笔记(二)——Redis的准备

[复制链接]

尚未签到

发表于 2016-12-17 09:27:39 | 显示全部楼层 |阅读模式
一、安装Redis

第一步肯定是安装了。安装前先说下版本规则,Redis约定次版本号(第一个小数点后的数字)为偶数是稳定版,为奇数是非稳定版,这里推荐使用稳定版学习、开发以及生产环境。
1、在POSIX系统中安装
Redis兼容大部分POSIX系统,Linux、OS X、BSD等,推荐使用源码编译安装。http://redis.io/download 在这里下载Stable版本。
在Linux系统中,下载后解压,这里我使用的是2.8.6版本,使用如下命令解压:


# tar xvzf redis-2.8.6.tar.gz



解压后进入文件夹,直接make命令即可完成安装。如果还想把Redis中需要用的一些可执行程序都放到/usr/local/bin目录下以便以后执行程序时可以不用输入完整路径,在执行make install命令即可。
Redis还推荐使用一个make test命令来测试Redis是否编译正确。
2、在Windows系统中安装
Redis官方不支持Windows。在此先建议不要使用Window做开发,更不要使用Windows系统做生产环境。
2011年微软为了让Redis能原生的运行在Windows上,微软在几周前成立了一个小组,通过几周的工作,通过采用LibUV将Redis成功移植到Win系统下。并且在Redis的github项目上,微软向Redis项目提交了他们的补丁。很有意思的,Redis的作者立刻拒绝了将这一补丁加入主干代码中。但称这个补丁还是很有用,能够让在Win下使用Redis进行开发的同学在调试方面更方便,以前可能需要在虚拟机下去启一个Redis。
如果实在没有办法,需要使用Windows的话,可以通过Cygwin软件或虚拟机完成学习。这里就不介绍这个软件的安装方法了,网上很多。(此软件并不能完全模拟Linux系统使用Redis,有写明了并不支持,所以还是推荐使用Linux系统学习)
 
本文原创与本人个人博客http://irfen.me

二、启动与停止Redis

如果没有执行make install命令的话,默认这些可执行程序是在Redis目录的src文件夹下,推荐还是执行一下make install。


文件名
说 明

redis-server
Redis服务器


redis-cli
Redis命令行客户端


redis-benchmark
Redis性能测试工具


redis-check-aof
AOF文件修复工具


redis-check-dump
RDB文件检查工具

我们最常用的是前面两个。
1、启动
两种方式,直接启动和初始化脚本启动两种,前者适用于开发环境,后者用于生产环境。
①直接启动,运行redis-server即可,Redis默认监听6279端口,通过–port参数可以自定义端口号。
②初始化脚本启动:为了使Redis能够自动启动,在生产环境中要用此法运行。在Redis源码目录utils文件夹下有个redis_init_script的初始化脚本文件,我们需要配置Redis的运行方式和持久化文件、日志文件的存储位置等。
内容如下:


#!/bin/sh
#
# Simple Redis init.d script conceived to work on Linux systems
# as it does use of the /proc filesystem.
 
REDISPORT=6379
EXEC=/usr/local/bin/redis-server
CLIEXEC=/usr/local/bin/redis-cli
 
PIDFILE=/var/run/redis_${REDISPORT}.pid
CONF="/etc/redis/${REDISPORT}.conf"
 
case "$1" in
start)
if [ -f $PIDFILE ]
then
echo "$PIDFILE exists, process is already running or crashed"
else
echo "Starting Redis server..."
$EXEC $CONF
fi
;;
stop)
if [ ! -f $PIDFILE ]
then
echo "$PIDFILE does not exist, process is not running"
else
PID=$(cat $PIDFILE)
echo "Stopping ..."
$CLIEXEC -p $REDISPORT shutdown
while [ -x /proc/${PID} ]
do
echo "Waiting for Redis to shutdown ..."
sleep 1
done
echo "Redis stopped"
fi
;;
*)
echo "Please use start or stop as first argument"
;;
esac



步骤如下:
(1)讲配置文件复制到/etc/init.d下,名为redis_端口号,客户端通过次端口偶连接Redis,并需要修改脚本中REDISPORT变量值为上面的端口号。
(2)建立需要的文件夹。
/etc/redis             ===> 存放Redis配置文件
/var/redis/端口号 ===> 存放Redis持久化文件
(3)配置文件修改
此处的配置文件是在redis目录下的一个redis.conf的文件,需要复制到/etc/redis目录下,并改名为端口号.conf,然后做如下修改。


参 数

说明

daemonize
yes
使Redis以守护进程模式运行


pidfile
/var/run/redis_端口号.pid
设置Redis的PID文件位置


port
端口号
设置Redis监听的端口号


dir
/var/redis/端口号
设置持久化文件存放位置

现在就可以使用/etc/init.d/redis_端口号 start来启动redis了。然后执行如下命令是redis随系统启动。


#sudo update-rc.d redis_端口号 defaults



2、停止
考虑到Redis有可能正在将内存中的数据写到磁盘上,强制终止Redis进程可能丢失数据。正确的方式如下:


#redis-cli SHUTDOWN



当redis收到命令后会现断开客户端,然后根据配置执行持久化后退出。
Redis可以妥善处理SIGTERM信号,所以使用kill命令也可以正常结束Redis,和SHUTDOWN命令一样。
 
本文原创与本人个人博客http://irfen.me

三、Redis客户端命令

之前也说过了执行的一个redis-cli命令,下面说些其他的命令。
#redis-cli -h 127.0.0.1 -p 6379
上述命令应该很好看懂,-h参数指定host,-p命令指定端口,默认如果不输入任何参数的话就是连接的本机本地服务。
#redis-cli PING
上述命令是redis提供的一个测试客户端与Redis连接是否正常的测试,如果正常,会返回PONG。
四、多数据库
Redis默认支持16个数据库,可以通过配置参数database修改。Redis和我们常用的数据库不一样,他的数据库命名是通过0~15的数字(例如默认的16个数据库)命名的,客户端连接后会默认选择第0个数据库,如果需要切换可以使用select命令切换。


redis 127.0.0.1:6379>select 1
OK
redis [1] 127.0.0.1:6379>select 0
OK



首先Redis不支持自定义数据库名,去粗Redis也不支持每个数据库一个帐号密码,只要能访问数据库0,就能访问其他的每个数据库。并且每个数据库并不是完全隔离的,比如flushall命令,可以清空整个Redis实例中的所有数据。所以这种数据库更像是个命名空间,不适合存储不同程序。
其实,我们完全可以把不同程序使用不同的Redis实例,一个空的Redis实例占用的内存只有1M左右,所以不用担心多个Redis实例会占用很多内存。
到此准备环境就整理完成了,下面就开始学习具体命令了。
 
本文原创与本人个人博客http://irfen.me

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-315395-1-1.html 上篇帖子: 【最简洁】Redis安装 下篇帖子: Redis TUTORIAL
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表