【学习笔记】Redis及PHPRedis安装

Redis

Redis是Remote Dictionary Server的缩写,Redis是一个开源、基于C语言、基于内存亦可持久化的高性能NoSQL的键值对数据库。
每秒可以读写10万个键值。

Redis和MemCache比较

  1. Redis不仅仅支持简单的k-v类型的数据,同时还提供了list、set、zset、hash等数据结构的存储。
  2. Redis支持master-slave(主-从)模式应用。
  3. Redis支持数据的持久化,可以将内存中的数据保存到磁盘中,重启的时候可以再次加载继续使用。
  4. Redis单个value的最大限制是1GB,MemCache只能保存1MB的数据。

适用场景

  1. 取最新N个数据的操作。
  2. 排行榜应用,取TOP N操作。
  3. 需要精确设定过期时间的应用。
  4. 计数器应用。
  5. Uniq操作,获取某段时间所有数据排重值。
  6. 实时系统,反垃圾系统。
  7. Pub/Sub构建实时消息系统。
  8. 构建队列系统。
  9. 缓存。

安装环境

  1. CentOS6.5
  2. PHPStudy
  3. PHP5.5
  4. 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

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

redis运行目录

数据类型

  1. Key
    除了‘\n’和‘空格’不能作为名字的组合内容外,其他内容都可以作为Key的名字部分。长度不做要求。
  2. String
    String是Redis最基本的类型。
    Redis的String可以包含任何数据(包括二进制——JPG图片或者序列化的对象)。
    单个value值最大上限是1GB。
    如果只用String类型,Redis就可以被看作加上持久化特性的MemCache。
  3. List链表
    List其实就是一个双向链表。
    通过push、pop操作从链表的头部或尾部添加、删除元素。这使得List既可以用作栈,也可以用做队列。
  4. Set(集合)
    Redis的Set是String类型的无序集合。
    Set元素最大可以包含232-1个元素。
  5. Sort Set(排序集合)
    排序集合中的每个元素都是值、权的组合。
  6. Hash
    特别适合用于存储对象,可以占用更少的内存,并且方便存取整个对象。

简单试用

此篇仅用于安装、试用,具体场景、函数,不做详细说明,后续再更新实例。
Redis命令链接
PHPRedis源码链接,有兴趣可以看看

./redis-server redis.conf

启动Redis

./redis-cli

简单使用

持久化功能

Redis为了内部数据的安全考虑,会把本身的数据以文件的形式保存到磁盘一份,在服务器重启之后会自动把磁盘上的数据恢复到内存(Redis)里。
数据保存到磁盘的过程就称为“持久化”效果

  1. Snap Shotting快照持久化
    该持久化默认开启,会一次性把Redis中所有的数据保存一份存储到磁盘里,如果数据非常多(10-20GB)就不适合频繁的使用该持久化操作。
    手动执行快照持久化(本机可以省略ip、端口):
    ./redis-cli -h(IP) -p(端口) bgsave

  2. Append Only File(AOF持久化)
    本质:把用户执行的每个“写”指令(添加、修改、删除)都备份到文件中,还原数据的时候就是执行具体的指令。
    开启AOF持久化(会清空Redis内的数据)
    AOF备份文件优化指令:
    ./redis-cli bgrewriteaof

常用配置项

  1. daemonize{yse|no}:是否后台启动。
  2. pidfile:配置多个pid地址,默认为/var/run/redis.pid。
  3. port:监听端口,默认为6379。
  4. bind:绑定ip,设置后只接受来自该ip的请求。
  5. timeout:设置客户端连接时的超时时间,单位为秒。
  6. loglevel:日志等级;debug、verbose、notice、warning四个等级。
  7. logfile:配置log文件地址。
  8. databases:Redis数据库数量(最多为16个)。
  9. save x y:x秒内有y个key的数据被修改就执行快照持久化操作。
  10. rdbcompression:进行镜像备份时,是否进行压缩。
  11. dbfilename:快照持久化备份文件名称。
  12. dir:快照持久化备份文件路径。
  13. appendonly{yes|no}:AOF持久化开启。
  14. appendfilename:AOF持久化备份文件名称。
  15. appendsync:AOF持久化备份频率。
  16. slaveof:自身为从服务器,填写主服务器的IP和端口号。
  17. masterauth:主数据库连接需要的密码验证。
  18. requirepass:设置登录时需要使用的密码。
  19. maxclients:限制并发连接的客户数量。
  20. maxmemory:设置Redis能够使用的最大内存,单位为byte。
  21. slave-read-only{yes|no}:从服务器是否可读。
  22. activerehashing:重新hash。

PHP安装PHPRedis扩展

PHPRedis下载链接

unzip phpredis-develop.zip
cd phpredis-develop
/phpstudy/server/php/bin/phpize

phpize

./configure --with-php-config=/phpstudy/server/php/bin/php-config

php-config

make
make install

make install

vim /phpstudy/server/php/etc/php.ini

添加扩展:
扩展
重启Apache!
phpinfo

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值