标签:style blog http io ar color os 使用 sp
由于项目的需要,最近需要研究下Redis。Redis是个很轻量级的NoSql内存数据库,它有多轻量级的呢,用C写的,源码只有3万行,空的数据库只占1M内存。它的功能很丰富,可以将其用作缓存,队列系统等。我们的项目就是用其作为缓存系统。关于Redis的介绍这里就不多说,刚上手完了一会,感觉还不错。那么熟悉Redis就从安装开始。
相比于Hbase的安装,Redis的安装非常简单。
1 tar xzvf redis.2.8.17.tar.gz 2 cd redis.2.8.17 3 make
1 192:redis-2.8.17 rcf$ make test 2 ... 3 \o/ All tests passed without errors! 4 5 Cleanup: may take some time... OK
1 192:redis-2.8.17 rcf$ sudo make install 2 Password: 3 cd src && /Applications/Xcode.app/Contents/Developer/usr/bin/make install 4 5 Hint: It‘s a good idea to run ‘make test‘ ;) 6 7 INSTALL install 8 INSTALL install 9 INSTALL install 10 INSTALL install 11 INSTALL install
文件名 | 说明 |
redis-server | Redis服务器 |
redis-cli | Redis命令行客户端 |
redis-benchmark | Redis性能测试工具 |
redis-check-aof | AOF文件修复工具 |
redis-check-dump | RDB文件检查工具 |
1 92:redis-2.8.17 rcf$ redis-server 2 [3360] 27 Nov 22:50:08.984 # Warning: no config file specified, using the default config. In order to specify a config file use redis-server /path/to/redis.conf 3 [3360] 27 Nov 22:50:08.985 * Increased maximum number of open files to 10032 (it was originally set to 256). 4 _._ 5 _.-``__ ‘‘-._ 6 _.-`` `. `_. ‘‘-._ Redis 2.8.17 (00000000/0) 64 bit 7 .-`` .-```. ```\/ _.,_ ‘‘-._ 8 ( ‘ , .-` | `, ) Running in stand alone mode 9 |`-._`-...-` __...-.``-._|‘` _.-‘| Port: 6379 10 | `-._ `._ / _.-‘ | PID: 3360 11 `-._ `-._ `-./ _.-‘ _.-‘ 12 |`-._`-._ `-.__.-‘ _.-‘_.-‘| 13 | `-._`-._ _.-‘_.-‘ | http://redis.io 14 `-._ `-._`-.__.-‘_.-‘ _.-‘ 15 |`-._`-._ `-.__.-‘ _.-‘_.-‘| 16 | `-._`-._ _.-‘_.-‘ | 17 `-._ `-._`-.__.-‘_.-‘ _.-‘ 18 `-._ `-.__.-‘ _.-‘ 19 `-._ _.-‘ 20 `-.__.-‘ 21 22 [3360] 27 Nov 22:50:08.986 # Server started, Redis version 2.8.17 23 [3360] 27 Nov 22:50:08.986 * The server is now ready to accept connections on port 6379
redis-server ${conf}
${conf} 表示配置文件的路径。由此可见,我们可以自定义配置文件的路径,以及通过修改配置文件来优化redis。
1 #!/bin/sh 2 # 3 # Simple Redis init.d script conceived to work on Linux systems 4 # as it does use of the /proc filesystem. 5 6 REDISPORT=6379 7 EXEC=/usr/local/bin/redis-server 8 CLIEXEC=/usr/local/bin/redis-cli 9 10 PIDFILE=/var/run/redis_${REDISPORT}.pid 11 CONF="/etc/redis/${REDISPORT}.conf" 12 13 case "$1" in 14 start) 15 if [ -f $PIDFILE ] 16 then 17 echo "$PIDFILE exists, process is already running or crashed" 18 else 19 echo "Starting Redis server..." 20 $EXEC $CONF 21 fi 22 ;; 23 stop) 24 if [ ! -f $PIDFILE ] 25 then 26 echo "$PIDFILE does not exist, process is not running" 27 else 28 PID=$(cat $PIDFILE) 29 echo "Stopping ..." 30 $CLIEXEC -p $REDISPORT shutdown 31 while [ -x /proc/${PID} ] 32 do 33 echo "Waiting for Redis to shutdown ..." 34 sleep 1 35 done 36 echo "Redis stopped" 37 $CLIEXEC -p $REDISPORT shutdown 38 while [ -x /proc/${PID} ] 39 do 40 echo "Waiting for Redis to shutdown ..." 41 sleep 1 42 done 43 echo "Redis stopped" 44 fi 45 ;; 46 *) 47 echo "Please use start or stop as first argument" 48 ;; 49 esac
目录名 | 说明 |
/etc/redis | 存放redis配置文件 |
/var/redis/端口号 | 存放redis持久化文件 |
参数 | 值 | 说明 |
daemonize | yes | 使redis以守护进程模式运行 |
pidfile | /var/run/redis_端口号.conf | 设置redis的PID文件位置。需要与redis_init_script的PIDFILE参数一致 |
port | 端口号 | 设置redis监听的端口号 |
dir | /var/redis/端口号 | 设置持久化文件存放位置 |
至此,我们就可以以守护进程的方式来运行redis了。
1 192:utils rcf$ ./redis_init_script 2 Please use start or stop as first argument 3 192:utils rcf$ ./redis_init_script start 4 Starting Redis server... 5 6 192:utils rcf$ redis-cli 7 127.0.0.1:6379> ping 8 PONG
1 userdeMacBook-Pro:utils rcf$ redis-cli -h 127.0.0.1 -p 6379 2 127.0.0.1:6379> ping 3 PONG 4 127.0.0.1:6379>
1 userdeMacBook-Pro:utils rcf$ redis-cli ping 2 PONG
1 127.0.0.1:6379> config get loglevel 2 1) "loglevel" 3 2) "notice" 4 127.0.0.1:6379> config set loglevel warning 5 OK 6 127.0.0.1:6379> config get loglevel 7 1) "loglevel" 8 2) "warning" 9 127.0.0.1:6379>
Redis是个字典结构的存储服务器,它实际上一个Redis实例提供了多个来存储数据的字典,客户段可以制定将数据存放在哪个字典中。这个跟关系型数据库实例可以创建多个数据库有点类似,但是两者又有较大的区别。
1 127.0.0.1:6379> select 0 2 OK 3 127.0.0.1:6379> set foo 1 4 OK 5 127.0.0.1:6379> get foo 6 "1" 7 127.0.0.1:6379> select 1 8 OK 9 127.0.0.1:6379[1]> get foo 10 (nil)
Redis支持一下几种数据类型:
符号 | 含义 |
? | 匹配单个字符 |
* | 匹配多个字符(包括0个) |
[] | 匹配括号内的任一字符,可以使用“-”表示一个范围,如a[b-d]可以匹配ab,ac,ad |
\x |
匹配字符x,用于转义 |
本节主要介绍了Redis的安装,基础的概念,以及基本的操作。经过本节的学习,对于Redis已经有了基础的了解,下一节我们将学习下Redis的数据类型以及相关操作。
标签:style blog http io ar color os 使用 sp
原文地址:http://www.cnblogs.com/rcfeng/p/4127490.html