redis是一个key-value存储系统。和Memcached相似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hash(哈希类型)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操做,并且这些操做都是原子性的。在此基础上,redis支持各类不一样方式的排序。与memcached同样,为了保证效率,数据都是缓存在内存中。区别的是redis会周期性的把更新的数据写入磁盘或者把修改操做写入追加的记录文件,而且在此基础上实现了master-slave(主从)同步。redis
Redis 是一个高性能的key-value数据库。 redis的出现,很大程度补偿了memcached这类key/value存储的不足,在部 分场合能够对关系数据库起到很好的补充做用。它提供了Java,C/C++,C#,PHP,JavaScript,Perl,Object-C,Python,Ruby,Erlang等客户端,使用很方便。数据库
我用的是centos5.4搭建的,其中gcc等环境已配置好centos
1 安装tcl,由于redis依赖tcl缓存
yum -y install tcl安全
2安装redisapp
到redis官网下载redis,我用的是redis.2.8.13.tar.gzide
mv redis-2.8.13.tar.gz /tmpmemcached
cd /tmp/
ls
tar -zxvf redis-2.8.13.tar.gz性能
cd redis-2.8.13测试
make && make install
安装时能够看下readme,这是一个很好的习惯
./runtest测试发现没有问题
mv redis.conf /etc/redis.conf
3redis的运行和关闭
运行 redis-server /etc/redis.conf
关闭 redis-cil shutdown
4redis配置文件详解
daemonize yes #之后台daemon方式运行redis
pidfile "/var/run/redis.pid" #redis之后台运行,默认pid文件路径/var/run/redis.pid
port 6379 #默认端口
bind 127.0.0.1 #默认绑定本机全部ip地址,为了安全,能够只监听内网ip
timeout 300 #客户端超时设置,单位为秒
loglevel verbose #设置日志级别,支持四个级别:debug、notice、verbose、warning
logfile stdout #日志记录方式,默认为标准输出,logs不写文件,输出到空设备/deb/null
logfile "/usr/local/redis/var/redis.log" #能够指定日志文件路径
databases 16 #开启数据库的数量
save 900 1
save 300 10
save 60 10000
建立本地数据库快照,格式:save * *
900秒内,执行1次写操做
300秒内,执行10次写操做
60秒内,执行10000次写操做
rdbcompression yes #启用数据库lzf压缩,也能够设置为no
dbfilename dump.rdb #本地快照数据库名称
dir "/usr/local/redis/var/" #本地快照数据库存放目录
requirepass zhanghe #设置redis数据库链接密码
maxclients 10000 #同一时间最大客户端链接数,0为无限制
maxmemory 1024MB #设定redis最大使用内存,值要小于物理内存,必须设置
appendonly yes #开启日志记录,至关于MySQL的binlog
appendfilename "appendonly.aof" #日志文件名,注意:不是目录路径
appendfsync everysec #每秒执行同步,还有两个参数always、no通常设置为everysec,至关于MySQL事物日志的写
5验证
redis-cli -a zhanghe 注意-a后面跟的是redis数据库的密码,密码错误也能进去,可是不能进行操做,会显示验证失败
redis-cli -a redis
127.0.0.1:6379>
127.0.0.1:6379>
127.0.0.1:6379> 127.0.0.1:6379> s127.0.0.1:6379> se127.0.0.1:6379> set127.0.0.1:6379> set 127.0.0.1:6379> set s127.0.0.1:6379> set ss127.0.0.1:6379> set ss 127.0.0.1:6379> set ss z127.0.0.1:6379> set ss zh127.0.0.1:6379> set ss zha127.0.0.1:6379> set ss zhan127.0.0.1:6379> set ss zhang127.0.0.1:6379> set ss zhangh127.0.0.1:6379> set ss zhanghe
OK
127.0.0.1:6379> 127.0.0.1:6379> g127.0.0.1:6379> ge127.0.0.1:6379> get127.0.0.1:6379> get 127.0.0.1:6379> get s127.0.0.1:6379> get ss
"zhanghe"
至此,配置完成