Redis 环境的安装

     Redis 是 key-value 的NOSQL、独爱那些 小而热 的数据、典型"萝莉控"
     至于啥叫 key-value 呢?用RDBMS的观点、一言以辟之:
     所谓 key:主键列
     所谓 value:其他列
     Redis 近几年很火、火到抬头不见、低头见
     抬头望国外:著名成人网站 youporn 采用 100% Redis 每天 1亿 PV、解决了无数屌丝 YY 问题
     低头思国内:新浪微博走的 Redis 之路、那叫一把眼泪一把辛酸呀
     

     千里之行、始于安装、Let's 谈谈一次简单的安装步骤


     ㈠ 安装 Redis


  1. # wget https://redis.googlecode.com/files/redis-2.6.13.tar.gz  
  2. # tar -zxv -f redis-2.6.13.tar.gz  
  3. # cd redis-2.6.13  
  4. # cd src  
  5. # make   
  6. # mkdir /etc/redis/  
  7. # cp redis.conf /etc/redis/redis.conf  
  8. # echo "1" > /proc/sys/vm/overcommit_memory  
  9. # make install   
# wget https://redis.googlecode.com/files/redis-2.6.13.tar.gz
# tar -zxv -f redis-2.6.13.tar.gz
# cd redis-2.6.13
# cd src
# make 
# mkdir /etc/redis/
# cp redis.conf /etc/redis/redis.conf
# echo "1" > /proc/sys/vm/overcommit_memory
# make install 


     ㈡ 设置 Redis 为后台守护进程


  1. # cat /etc/redis/redis.conf | grep -in --color=auto 'daemonize'  
  2.   
  3. 16:# Note that Redis will write a pid file in /var/run/redis.pid when daemonized.  
  4. 17:daemonize yes  
# cat /etc/redis/redis.conf | grep -in --color=auto 'daemonize'

16:# Note that Redis will write a pid file in /var/run/redis.pid when daemonized.
17:daemonize yes


     ㈢ 启动 Redis


  1. # redis-server /etc/redis/redis.conf  
  2. # ps aux | grep redis  
  3.   
  4. root     32111  0.0  0.0  31496  1500 ?        Ssl  16:38   0:00 redis-server /etc/redis/redis.conf  
  5. root     32122  0.0  0.0   5128   676 pts/2    R+   16:39   0:00 grep redis  
# redis-server /etc/redis/redis.conf
# ps aux | grep redis

root     32111  0.0  0.0  31496  1500 ?        Ssl  16:38   0:00 redis-server /etc/redis/redis.conf
root     32122  0.0  0.0   5128   676 pts/2    R+   16:39   0:00 grep redis


     ㈣ 测试 Redis


  1. # redis-cli  
  2.   
  3. redis 127.0.0.1:6379> set name "David Lin"  
  4. OK  
  5. redis 127.0.0.1:6379> get name  
  6. "David Lin"  
  7. redis 127.0.0.1:6379> hset 192.168.1 David David@redis  
  8. (integer) 1  
  9. redis 127.0.0.1:6379> hget 192.168.1 David  
  10. "David@redis"  
  11. redis 127.0.0.1:6379> hset 192.168.1 root root@redis  
  12. (integer) 1  
  13. redis 127.0.0.1:6379> hget 192.168.1 root  
  14. "root@redis"  
  15. redis 127.0.0.1:6379> hkeys 192.168.1  
  16. 1) "David"  
  17. 2) "root"  
  18. redis 127.0.0.1:6379> hvals 192.168.1  
  19. 1) "David@redis"  
  20. 2) "root@redis"  
  21. redis 127.0.0.1:6379> hgetall 192.168.1  
  22. 1) "David"  
  23. 2) "David@redis"  
  24. 3) "root"  
  25. 4) "root@redis"  
  26. redis 127.0.0.1:6379> type name  
  27. string  
  28. redis 127.0.0.1:6379> type 192.168.1  
  29. hash  
  30. redis 127.0.0.1:6379> quit  
# redis-cli

redis 127.0.0.1:6379> set name "David Lin"
OK
redis 127.0.0.1:6379> get name
"David Lin"
redis 127.0.0.1:6379> hset 192.168.1 David David@redis
(integer) 1
redis 127.0.0.1:6379> hget 192.168.1 David
"David@redis"
redis 127.0.0.1:6379> hset 192.168.1 root root@redis
(integer) 1
redis 127.0.0.1:6379> hget 192.168.1 root
"root@redis"
redis 127.0.0.1:6379> hkeys 192.168.1
1) "David"
2) "root"
redis 127.0.0.1:6379> hvals 192.168.1
1) "David@redis"
2) "root@redis"
redis 127.0.0.1:6379> hgetall 192.168.1
1) "David"
2) "David@redis"
3) "root"
4) "root@redis"
redis 127.0.0.1:6379> type name
string
redis 127.0.0.1:6379> type 192.168.1
hash
redis 127.0.0.1:6379> quit


     ㈤ 关闭 Redis 


  1. # redis-cli shutdown  
# redis-cli shutdown


     ㈥ 可能的错误


        
        安装过程、或许您可能会有幸遇见:


  1. zmalloc.o: In function `zmalloc_used_memory':  
  2. /root/redis/redis-2.6.13/src/zmalloc.c:223: undefined reference to `__sync_add_and_fetch_4'  
  3. collect2: ld 返回 1  
  4. make[1]: *** [redis-server] 错误 1  
  5. make[1]: Leaving directory `/root/redis/redis-2.6.13/src'  
  6. make: *** [all] 错误 2  
zmalloc.o: In function `zmalloc_used_memory':
/root/redis/redis-2.6.13/src/zmalloc.c:223: undefined reference to `__sync_add_and_fetch_4'
collect2: ld 返回 1
make[1]: *** [redis-server] 错误 1
make[1]: Leaving directory `/root/redis/redis-2.6.13/src'
make: *** [all] 错误 2


     大概是内核有点老了、跟不上最新的Redis


  1. [root@odd ~]# uname -r  
  2. 2.6.18-308.el5xen  
[root@odd ~]# uname -r
2.6.18-308.el5xen


     解决方案:
     安装最新版的Tcl

  1. # wget http://nchc.dl.sourceforge.net/project/tcl/Tcl/8.6.0/tcl8.6.0-src.tar.gz      
  2. # tar -zxv -f tcl8.6.0-src.tar.gz   
  3. # cd tcl8.6.0  
  4. # cd unix  
  5. # ./configure   
  6. # make  
  7. # make test  
  8. # make install   
# wget http://nchc.dl.sourceforge.net/project/tcl/Tcl/8.6.0/tcl8.6.0-src.tar.gz    
# tar -zxv -f tcl8.6.0-src.tar.gz 
# cd tcl8.6.0
# cd unix
# ./configure 
# make
# make test
# make install 


     之后再做 2 件事:

     ① 在src/Makefile开头加 CFLAGS= -march=i686
     ② 编辑src/.make-settings里的OPT,改为OPT=-O2 -march=i686


     行文至此、接近尾声、安装过程并不复杂、至于测试的命令嘛、下回更精彩 +_+


     
     Good Luck

     2013-05-30
     By David Lin

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值