一.简单了解
http://www.redis.cn/download.html 对应的英文站点:http://www.redis.io/
与memcache的不同:http://www.nginx.cn/tag/redis
★redis 命令大全&&中文文档《Redis 设计与实现》:http://redis.readthedocs.org/en/latest/
★关于redis的一些常识:http://www.searchdatabase.com.cn/showcontent_70423.htm
史上最全的redis数据库技术教程:http://www.it168.com/redian/redis/
Windows下见到了解:http://www.cnblogs.com/edisonfeng/p/3571870.html
NoSQL介绍
NoSQL是以key-value形式存储,特点:非关系型的,分布式的,开源的,水平可扩展的
1.处理超大量的数据
2.运行在便宜的PC服务器集群上
3.击碎了性能瓶颈
NoSQL适用场景
1.对数据高并发读写
2.对海量数据的高效率存储和访问
3.对数据的高可扩展性和高可用性
Redis的介绍
开源的,key-value存储,通常被称为数据结构服务器
键可以包含字符串strings,哈希hashes,链表lists,集合sets,有序集合sorted sets
这些数据类型都支持 push/pop,add/remove及取交集和并集以及更丰富的操作
Redis支持不同方式的排序
数据都缓存在内存中,也可以周期性的把更新的数据写入磁盘,或者把修改操作写入追加的记录文件
Redis适用场合
新浪微博redis的部署场景很多,大概分2种:
1.应用程序直接访问Redis数据库
2.应用程序直接访问Redis,只有当Redis访问失败的时候才访问MySQL
应用场景:
1.取最新的N个数据的操作
2.排行榜应用,取TOP N的操作
3.需要精确设定过期时间的应用
4.计数器应用
5.Uniq操作,获取某段时间所有数据排重值 唯一操作
6.实时系统,反垃圾系统
7.pub/sub构建实时消息系统
8.构建队列系统
9.缓存
redis MySQL mongodb 区别
1.库 库 库
2.无表 有表 集合-类似于MySQL的表
3.无字段、行、列 有字段、行、列 无字段、行、列
二.下载地址
http://www.redis.cn/download.html
三.redis的安装
参考:http://stamen.iteye.com/blog/1903867
http://www.open-open.com/lib/view/open1413513761778.html
http://www.cnblogs.com/zhuhongbao/archive/2013/06/04/3117997.html
简洁版:http://blog.csdn.net/teamlet/article/details/9456243
《1.》 mkdir –p /usr/local/redis
mkdir –p /usr/local/redis/etc
《2.》 来到解压后的目录: make PREFIX=/usr/local/redis install #安装到指定目录中
《3.》 mv /lamp/redis-2.4.17/redis.conf /usr/local/redis/etc
《4.》我们可以看到/usr/local/redis/bin下面有下面几个文件:
redis-server:Redis服务器的daemon启动程序
redis-cli:Redis命令行操作工具。也可以用telnet根据其纯文本协议来操作
redis-benchmark:Redis性能测试工具,测试Redis在当前系统下的读写性能
redis-check-aof:数据修复
redis-check-dump:检查导出工具
《5.》修改系统配置文件,执行命令【非必须】
a) echo vm.overcommit_memory=1 >> /etc/sysctl.conf
b) sysctl vm.overcommit_memory=1 或执行echo vm.overcommit_memory=1 >>/proc/sys/vm/overcommit_memory
使用数字含义:
0,表示内核将检查是否有足够的可用内存供应用进程使用;如果有足够的可用内存,内存申请允许;否则,内存申请失败,并把错误返回给应用进程。
1,表示内核允许分配所有的物理内存,而不管当前的内存状态如何。
2,表示内核允许分配超过所有物理内存和交换空间总和的内存
四.redis的启动和关闭
/usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf 指定配置文件
redis服务端的默认连接端口是6379
停止redis实例
我们可以使用/usr/local/redis/bin/redis-cli shutdown
也可以使用 pkill redis-server
redis-cli -p 6397 shutdown //关闭6397端口的redis
客户端连接
/usr/local/redis/bin/redis-cli
五.redis的配置参数说明
daemonize 如果需要在后台运行,把该项改为yes
pidfile 配置多个pid的地址 默认为 /var/run/redis.pid
bind 绑定ip 设置后只接受来自该ip的请求
port 监听端口 默认为6379
timeout 设置客户端连接时的超时时间 单位为秒
loglevel 分为4级 debug,verbose,notice,warning
logfile 配置log文件地址
database 设置数据库的个数,默认使用的数据库为0
save 设置redis进行数据库镜像的频率
rdbcompression 在进行镜像备份时,是否进行压缩
dbfilename 镜像备份文件的文件名
dir 数据库镜像备份的文件放置路径
slaveof 设置数据库为其他数据库的从数据库
Masterauth 主数据库连接需要的密码验证
Requirepass 设置登录时需要使用的密码
Maxclients 限制同时连接的客户数量
Maxmemory 设置redis能够使用的最大内存
Appendonly 开启 append only 模式
Appendfsync 设置对appendonly.aof文件同步的频率
vm-enabled 是否开启虚拟内存支持
vm-swap-file 设置虚拟内存的交换文件路径
vm-max-memory 设置redis使用的最大物理内存大小
vm-page-size 设置虚拟内存的页大小
vm-pages 设置交换文件的总的page数量
vm-max-threads 设置VMIO同时使用的线程数量
Glueoutputbuf 把小的输出缓存放在一起
hash-max-zipmap-entries 设置hash的临界值
Activerehashing 重新hash
六:windows中的redis
下载地址:https://github.com/MSOpenTech/redis
https://github.com/dmajkic/redis/downloads
安装:http://www.cnblogs.com/edisonfeng/p/3571870.html
http://www.cnblogs.com/lxx/archive/2013/06/04/3116985.html 【有conf文件的详细介绍!】
注意下载那种有32,和64位同时存在的版本可能稳定性更好!