【学习笔记】Redis及PHPRedis安装
2016-03-26 17:03
513 查看
Redis
Redis是Remote Dictionary Server的缩写,Redis是一个开源、基于C语言、基于内存亦可持久化的高性能NoSQL的键值对数据库。每秒可以读写10万个键值。
Redis和MemCache比较
Redis不仅仅支持简单的k-v类型的数据,同时还提供了list、set、zset、hash等数据结构的存储。Redis支持master-slave(主-从)模式应用。
Redis支持数据的持久化,可以将内存中的数据保存到磁盘中,重启的时候可以再次加载继续使用。
Redis单个value的最大限制是1GB,MemCache只能保存1MB的数据。
适用场景
取最新N个数据的操作。排行榜应用,取TOP N操作。
需要精确设定过期时间的应用。
计数器应用。
Uniq操作,获取某段时间所有数据排重值。
实时系统,反垃圾系统。
Pub/Sub构建实时消息系统。
构建队列系统。
缓存。
安装环境
CentOS6.5PHPStudy
PHP5.5
Apache
Redis安装
wget http://download.redis.io/releases/redis-3.0.7.tar.gz tar -zxvf redis-3.0.7.tar.gz cd redis-3.0.7 make
编译成功:
cd src
创建Redis运行目录
mkdir /usr/local/redis cp redis-cli redis-server /usr/local/redis cd .. cp redis.conf /usr/local/redis cd /usr/local/redis
数据类型
Key除了‘\n’和‘空格’不能作为名字的组合内容外,其他内容都可以作为Key的名字部分。长度不做要求。
String
String是Redis最基本的类型。
Redis的String可以包含任何数据(包括二进制——JPG图片或者序列化的对象)。
单个value值最大上限是1GB。
如果只用String类型,Redis就可以被看作加上持久化特性的MemCache。
List链表
List其实就是一个双向链表。
通过push、pop操作从链表的头部或尾部添加、删除元素。这使得List既可以用作栈,也可以用做队列。
Set(集合)
Redis的Set是String类型的无序集合。
Set元素最大可以包含232-1个元素。
Sort Set(排序集合)
排序集合中的每个元素都是值、权的组合。
Hash
特别适合用于存储对象,可以占用更少的内存,并且方便存取整个对象。
简单试用
此篇仅用于安装、试用,具体场景、函数,不做详细说明,后续再更新实例。Redis命令链接
PHPRedis源码链接,有兴趣可以看看
./redis-server redis.conf
./redis-cli
持久化功能
Redis为了内部数据的安全考虑,会把本身的数据以文件的形式保存到磁盘一份,在服务器重启之后会自动把磁盘上的数据恢复到内存(Redis)里。数据保存到磁盘的过程就称为“持久化”效果
Snap Shotting快照持久化
该持久化默认开启,会一次性把Redis中所有的数据保存一份存储到磁盘里,如果数据非常多(10-20GB)就不适合频繁的使用该持久化操作。
手动执行快照持久化(本机可以省略ip、端口):
./redis-cli -h(IP) -p(端口) bgsave
Append Only File(AOF持久化)
本质:把用户执行的每个“写”指令(添加、修改、删除)都备份到文件中,还原数据的时候就是执行具体的指令。
开启AOF持久化(会清空Redis内的数据)
AOF备份文件优化指令:
./redis-cli bgrewriteaof
常用配置项
daemonize{yse|no}:是否后台启动。pidfile:配置多个pid地址,默认为/var/run/redis.pid。
port:监听端口,默认为6379。
bind:绑定ip,设置后只接受来自该ip的请求。
timeout:设置客户端连接时的超时时间,单位为秒。
loglevel:日志等级;debug、verbose、notice、warning四个等级。
logfile:配置log文件地址。
databases:Redis数据库数量(最多为16个)。
save x y:x秒内有y个key的数据被修改就执行快照持久化操作。
rdbcompression:进行镜像备份时,是否进行压缩。
dbfilename:快照持久化备份文件名称。
dir:快照持久化备份文件路径。
appendonly{yes|no}:AOF持久化开启。
appendfilename:AOF持久化备份文件名称。
appendsync:AOF持久化备份频率。
slaveof:自身为从服务器,填写主服务器的IP和端口号。
masterauth:主数据库连接需要的密码验证。
requirepass:设置登录时需要使用的密码。
maxclients:限制并发连接的客户数量。
maxmemory:设置Redis能够使用的最大内存,单位为byte。
slave-read-only{yes|no}:从服务器是否可读。
activerehashing:重新hash。
PHP安装PHPRedis扩展
PHPRedis下载链接unzip phpredis-develop.zip cd phpredis-develop /phpstudy/server/php/bin/phpize
./configure --with-php-config=/phpstudy/server/php/bin/php-config
make make install
vim /phpstudy/server/php/etc/php.ini
添加扩展:
重启Apache!
相关文章推荐
- Android之获取手机上的图片和视频缩略图thumbnails
- redis安装问题小结
- nosql
- 数据库链接字符串查询网站
- DB2实例管理
- DB2实例管理
- 保障MySQL数据安全的14个最佳方法
- mysql问答汇集
- 使用 Redis 和 Python 构建一个共享单车的应用程序
- 第三章 数据库备份和还原
- Redis偶发连接失败案例实战记录
- 创建一个空的IBM DB2 ECO数据库的方法
- Access 2000 数据库 80 万记录通用快速分页类
- 开通一个数据库失败的原因的和解决办法
- 一个简单的asp数据库操作类
- CentOS下DB2数据库安装过程详解
- EasyASP v1.5发布(包含数据库操作类,原clsDbCtrl.asp)第1/2页
- sql2008 还原数据库解决方案
- Oracle 数据库自动存储管理-安装配置