Redis学习笔记(二)——Redis的准备
2016-03-28 02:01
447 查看
一、安装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。下面是一个官方的link
https://github.com/MSOpenTech/redis/releases/download/win-3.2.100/Redis-x64-3.2.100.msi
二、启动与停止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默认监听6379端口,通过–port参数可以自定义端口号。
②初始化脚本启动:为了使Redis能够自动启动,在生产环境中要用此法运行。在Redis源码目录utils文件夹下有个redis_init_script的初始化脚本文件,我们需要配置Redis的运行方式和持久化文件、日志文件的存储位置等。
内容如下:
Shell
#!/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$REDISPORTshutdown while[-x/proc/${PID}] do echo"Waiting for Redis to shutdown ..." sleep1 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/端口号 | 设置持久化文件存放位置 |
#sudo update-rc.d redis_端口号 defaults
对于windows,则基本简单:
cd C:\Program Files\Redis
redis-server .\redis.windows.conf
2、停止
考虑到Redis有可能正在将内存中的数据写到磁盘上,强制终止Redis进程可能丢失数据。正确的方式如下:
Shell
#redis-cli SHUTDOWN
for windows:
cd C:\Program Files\Redis
redis-cli SHUTDOWN
当redis收到命令后会现断开客户端,然后根据配置执行持久化后退出。
Redis可以妥善处理SIGTERM信号,所以使用kill命令也可以正常结束Redis,和SHUTDOWN命令一样。
如果 在eclipse中使用 redis JAVA API,则需要下面的两个jar来支持
jedis-2.4.2.jar
commons-pool2-2.0.jar
源代码https://github.com/xetorthio/jedis/releases/tag/jedis-2.7.2
jar 下载地址 http://download.csdn.net/detail/teamlet/8914387
编译jedis2.7.2需要使用Apache Commons Pool
http://commons.apache.org/proper/commons-pool/download_pool.cgi
或者 http://download.csdn.net/detail/teamlet/8914319
三、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命令切换。
redis127.0.0.1:6379>select1
OK
redis[1]127.0.0.1:6379>select0
OK
首先Redis不支持自定义数据库名,去粗Redis也不支持每个数据库一个帐号密码,只要能访问数据库0,就能访问其他的每个数据库。并且每个数据库并不是完全隔离的,比如flushall命令,可以清空整个Redis实例中的所有数据。所以这种数据库更像是个命名空间,不适合存储不同程序。
其实,我们完全可以把不同程序使用不同的Redis实例,一个空的Redis实例占用的内存只有1M左右,所以不用担心多个Redis实例会占用很多内存。
到此准备环境就整理完成了,下面就开始学习具体命令了。
相关文章推荐
- Redis学习笔记(一)——介绍
- 几点建议,让Redis在你的系统中发挥更大作用
- 第十章 Redis学习手册之持久化
- 第十一章 Redis学习手册之虚拟内存
- 分布式 Dubbo+Zookeeper+springmvc+mybatis+shiro+restful+activemq+redis
- redis——string类型的设计与实现
- [收藏]redis速查
- redis——redis的创建与部署
- redis cluster 配置
- Too many cluster redirections redis
- 基于Redis的三种分布式爬虫策略
- Windows系统下安装Redis
- redis持久化策略RDB和AOF
- redis面试题总结
- Redis服务安装及PHP扩展
- Redis-util 转换函数
- Redis系统学习
- [环境部署] Windows Server 2016 配置指南 之 安装 Redis3.0
- 2.9-php使用Redis存储
- redis常见操作