redis 学习二

一.序言


这是以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

你可能感兴趣的:(redis,ios)