一.序言
这是以redis 3.0 为基础,从官网来的基础安装步骤。官网地址:http://redis.io/download
github介绍:https://github.com/antirez/redis
基础学习:http://try.redis.io/
二.安装步骤
教程地址:http://redis.io/topics/quickstart
1.下载redis 3.0 解压:tar -zvxf redis-3.0.0.tar.gz
进入目录输入一些命令
$ sudo make
# make test 是可选命令,看看redis 内部的一些东西是否OK
$ sudo make install
# 也可以按官网推荐的来
Starting Redis
$ redis-server
看到类似的:
4255:C 13 Apr 16:11:37.101 # Warning: no config file specified, using the default config. In order to specify a config file use redis-server /path/to/redis.conf
4255:M 13 Apr 16:11:37.102 * Increased maximum number of open files to 10032 (it was originally set to 2560).
这是使用的默认配置,如果你生成需要,应该使用另一个配置文件
$ redis-server redis.conf
这是在当前目录执行了,后面要对应你conf 的位置,执行之后你可以看到:
检查是否启动
$ redis-cli ping
redis-cli 跟上命令会将参数发送到本地redis 6379 的端口,下面来看看基本操作:
$ redis-cli
127.0.0.1:6379> ping
PONG
127.0.0.1:6379> set mykey hello
OK
127.0.0.1:6379> get mykey
"hello"
127.0.0.1:6379>
控制台输入 关闭命令
$ redis-cli shutdown
四.服务器配置
上面只是基本的安装,如果要用到生产环境,得配置一些文件
1.首先把redis-cli 移动到/usr/local/bin 目录,方便执行,和JAVA_HOME 类似
默认install 的时候已经有了
2.创建你存放配置文件和数据文件的目录
sudo mkdir /etc/redis
sudo mkdir /var/redis
3.复制初始化脚本到/etc/init.d 目录,建议默认只有这个端口,作开机启动
$ sudo cp utils/redis_init_script /etc/init.d/redis_6379
4.进入脚本,确保你的REDISPORT 是你正在使用的
sudo vi /etc/init.d/redis_6379
5.复制redis.conf ,和脚本保持一致
sudo cp redis.conf /etc/redis/6379.conf
6.创建一个存放工作数据的目录
sudo mkdir /var/redis/6379
同时可以对redis.conf配置其他属性
# 来源:http://www.cnblogs.com/shanyou/archive/2012/01/28/2330451.html
daemonize:是否以后台daemon方式运行
pidfile:pid文件位置
port:监听的端口号
timeout:请求超时时间
loglevel:log信息级别
logfile:log文件位置
databases:开启数据库的数量
save * *:保存快照的频率,第一个*表示多长时间,第三个*表示执行多少次写操作。在一定时间内执行一定数量的写操作时,自动保存快照。可设置多个条件。
rdbcompression:是否使用压缩
dbfilename:数据快照文件名(只是文件名,不包括目录)
dir:数据快照的保存目录(这个是目录)
appendonly:是否开启appendonlylog,开启的话每次写操作会记一条log,这会提高数据抗风险能力,但影响效率。
appendfsync:appendonlylog如何同步到磁盘(三个选项,分别是每次写都强制调用fsync、每秒启用一次fsync、不调用fsync等待系统自己同步)
7.最后将脚本设置默认启动
sudo update-rc.d redis_6379 defaults
8.现在可以执行脚本了
/etc/init.d/redis_6379 start
五.MAC 版本差异
一个不幸的事实是:mac 上是没有init.d 目录的,mac启动脚本是 以.plist 结尾了,
好吧,我在 ~/Library/LaunchAgents 目录下自己建立一个 redis.plist
参考:http://www.js2node.com/redis-io/install-redis-io-2-4-17-on-mac-osx-as-service
$ sudo vi redis.plist
然后输入以下内容
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>io.redis.redis-server</string>
<key>ProgramArguments</key>
<array>
<string>/usr/local/bin/redis-server</string>
<string>/usr/local/etc/redis.conf</string>
</array>
<key>RunAtLoad</key>
<true/>
</dict>
</plist>
执行命令
$ sudo launchctl load /Library/LaunchDaemons/io.redis.redis-server.plist
打开关闭:
$ sudo launchctl start io.redis.redis-server
$ sudo launchctl stop io.redis.redis-server
六.brew 进行安装
下面我用brew来操作,关于brew 的安装我看的:http://my.oschina.net/liygheart/blog/284668
安装好了,然后 参考:https://gist.github.com/tonypujals/9631143
$ brew info redis
会有提示,然后输入
$ ln -nfs /usr/local/opt/redis/*.plist ~/Library/LaunchAgents
和
$ load ~/Library/LaunchAgents/homebrew.mxcl.redis.plist
小结
1.基本都是是文档上来的基础,主要因为系统问题,导致安装遇到点小麻烦记录一下,也分享一下
2.如果有错,请指点 非常感谢。
关于redis 选型的文章推荐:
http://www.infoq.com/cn/articles/tq-why-choose-redis
优化的推荐:
http://www.infoq.com/cn/articles/tq-redis-memory-usage-optimization-storage
更多命令操作参考:
http://redis.io/commands
基本学习
http://try.redis.io/
顺便给个安装其他东西的地址
https://github.com/davetheninja/dots/blob/master/bootstrap.sh
1、redis-benchmark
redis基准信息,redis服务器性能检测
redis-benchmark -h localhost -p 6379 -c 100 -n 100000
100个并发连接,100000个请求,检测host为localhost 端口为6379的redis服务器性能
Java代码
[root@Architect redis-1.2.6]# redis-benchmark -h localhost -p 6379 -c 100 -n 100000
====== PING ======
10001 requests completed in 0.41 seconds
50 parallel clients
3 bytes payload
keep alive: 1
0.01% <= 0 milliseconds
23.09% <= 1 milliseconds
85.82% <= 2 milliseconds
95.60% <= 3 milliseconds
97.20% <= 4 milliseconds
97.96% <= 5 milliseconds
98.83% <= 6 milliseconds
99.41% <= 7 milliseconds
99.70% <= 8 milliseconds
99.99% <= 9 milliseconds
100.00% <= 12 milliseconds
24274.27 requests per second
2、redis-cli
redis-cli -h localhost -p 6380 monitor
Dump all the received requests in real time;
监控host为localhost,端口为6380,redis的连接及读写操作
Java代码
[root@Architect redis-1.2.6]# redis-cli -h localhost -p 6380 monitor
+OK
+1289800615.808225 "monitor"
+1289800615.839079 "GET" "name"
+1289800615.853694 "PING"
+1289800615.853783 "PING"
+1289800615.854646 "PING"
+1289800615.854974 "PING"
+1289800615.857693 "PING"
+1289800615.866862 "PING"
+1289800615.871944 "PING"
redis-cli -h localhost -p 6380 info
Provide information and statistics about the server ;
提供host为localhost,端口为6380,redis服务的统计信息
Java代码
[root@Architect redis-1.2.6]# redis-cli -h localhost -p 6380 info
redis_version:2.0.4
redis_git_sha1:00000000
redis_git_dirty:0
arch_bits:32
multiplexing_api:epoll
process_id:21990
uptime_in_seconds:490580
uptime_in_days:5
connected_clients:103
connected_slaves:0
blocked_clients:0
used_memory:4453240
used_memory_human:4.25M
changes_since_last_save:200
bgsave_in_progress:0
last_save_time:1290394640
bgrewriteaof_in_progress:0
total_connections_received:809
total_commands_processed:44094018
expired_keys:0
hash_max_zipmap_entries:64
hash_max_zipmap_value:512
pubsub_channels:0
pubsub_patterns:0
vm_enabled:0
role:slave
master_host:localhost
master_port:6379
master_link_status:up
master_last_io_seconds_ago:18
db0:keys=1319,expires=0
3、redis-stat
redis-stat host localhost port 6380 overview
Print general information about a Redis instance;
实时打印出host为localhost,端口为6380,redis实例的总体信息
Java代码
[root@Architect redis-1.2.6]# redis-stat port 6380 overview
------- data ------ ------------ load ----------------------------- - childs -
keys used-mem clients requests connections
1319 5.37M 103 44108021 (+44108021) 810
1319 5.38M 103 44108124 (+103) 810
1319 5.38M 103 44108225 (+101) 810
1319 5.39M 103 44108326 (+101) 810
1319 5.40M 103 44108427 (+101) 810
1319 5.41M 103 44108528 (+101) 810
redis-stat host localhost port 6380 overview
Measure Redis server latency;
输出host为localhost,端口为6380,redis服务中每个请求的响应时长
Java代码
[root@Architect redis-1.2.6]# redis-stat port 6380 latency
1: 0.16 ms
2: 0.11 ms
3: 0.15 ms
4: 0.11 ms
5: 0.18 ms
6: 0.14 ms
其他学习地址: https://github.com/dizzus/RedisKit
demo下载地址 http://download.csdn.net/detail/kangguang/9556750