一、Redis的简介:@H_403_1@
Nosql 及No Only sql,是高并发,超大数据存在,不同于关系型数据库。拥有:非关系型,分布式,开源的,可水平扩展。
@H_403_1@
Redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hash(哈希类型)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。在此基础上,redis支持各种不同方式的排序。与memcached一样,为了保证效率,数据都是缓存在内存中。区别的是redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步。@H_403_1@
@H_403_1@
二、Redis的适用场景:@H_403_1@
1. 对数据高并发读写。@H_403_1@
2. 对海量数据的高效率存储和访问。@H_403_1@
3. 对海量的高可扩展和高可用性。@H_403_1@
@H_403_1@
三、开发适用Redis的场合:@H_403_1@
1. 取最新N个数据的操作。@H_403_1@
3. 需要精确设置过期时间的应用@H_403_1@
4. 计数器应用@H_403_1@
5. Unique操作,获取某段时间所有数据排重值@H_403_1@
7. Pub/Sub构建实时消息系统@H_403_1@
8. 构建队列系统@H_403_1@
9. 缓存数据@H_403_1@
@H_403_1@
四、Redis在Ubuntu中的部署@H_403_1@
相关Redis的下载:http://redis.io/download@H_403_1@
部署@H_403_1@
@H_403_1@
下载编译:
@H_403_1@
$wget http://download.redis.io/releases/redis-2.8.19.tar.gz@H_403_1@
$ tar xzvf redis-2.8.19.tar.gz@H_403_1@
$ cd redis-2.8.19@H_403_1@
$ make@H_403_1@
安装,进入redis-2.8.19的src安装:@H_403_1@
$ cd src@H_403_1@
$ sudo make install
@H_403_1@
在/usr/local下创建redis/bin(存放执行文件)目录和redis/etc(存放配置文件):@H_403_1@
$sudo mkdir -p /usr/local/redis/bin@H_403_1@
$sudo mkdir -p /usr/local/redis/etc@H_403_1@
@H_403_1@
移动redis-2.8.19下的redis.conf 到/usr/local/redis/etc目录下:@H_403_1@
$sudo mv ./redis.conf /usr/local/redis/etc/@H_403_1@
将src下的所有绿色的可执行文件命令移动到/usr/local/redis/bin/目录下:@H_403_1@
$ sudo mv mkreleasehdr.sh redis-cli redis-benchmark redis-check-aof redis-check-dump redis-server redis-sentinel /usr/local/redis/bin/@H_403_1@
@H_403_1@
启动redis@H_403_1@
$ cd /usr/local/redis/bin@H_403_1@
$ sudo ./redis-server /usr/local/redis/etc/redis.conf@H_403_1@
@H_403_1@
@H_403_1@
$ pkill redis-server 或kill -pid(redis的进程id)@H_403_1@
$ cd /usr/local/redis/bin
@H_403_1@
$ ./redis-cli shutdown@H_403_1@
@H_403_1@
查看redis是否启动@H_403_1@
1 $ps -ef | grep redis@H_403_1@
2 $netstat -tunpl | grep 6379
3 用客户端连接
@H_403_1@
$ cd /usr/local/redis/bin/@H_403_1@
$ ./redis-cli@H_403_1@
@H_403_1@
@H_403_1@
五、redis的配置@H_403_1@
daemonize 如果需要后台运行,设置yes@H_403_1@
pidfile 配置多个pid的地址,默认在var/run/redis.pid@H_403_1@
bind 绑定ip,设置后只接受来自来ip的请求@H_403_1@
port 监听端口 默认6379@H_403_1@
timeout 设置客户端连接的超时时间,单位为秒@H_403_1@
loglevel 日志等级 有4级别 , debug verbose notice warning
@H_403_1@
databases 设置数据库的个数,默认使用的是数据库为0,一共16个从0-15@H_403_1@
save 设置redis进行数据库镜像的频率@H_403_1@
rdbcompression 在进行镜像备份时,是否进行压缩@H_403_1@
Dbfilename 镜像备份文件放置路径@H_403_1@
Slaveof 设置数据库为其他数据库的数据库@H_403_1@
Masterauth 主数据库链接需要的验证密码@H_403_1@
Requirepass 设置登录时需要的使用密码@H_403_1@
Maxclients 设置同时连接的客户数量@H_403_1@
Maxmemory 设置redis能够使用的最大内存@H_403_1@
Appendonly 开启append only模式 @H_403_1@