位置: 编程技术 - 正文
推荐整理分享PHP数据库操作三:redis用法分析(php 数据库操作),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:php数据库设计,php7数据库操作,php 数据库操作,php数据库编程,php操作数据库的五个步骤,php7数据库操作,php操作数据库的五个步骤,php操作数据库的五个步骤,内容如对您有帮助,希望把文章链接给更多的朋友!
本文实例讲述了PHP数据库操作redis用法。分享给大家供大家参考,具体如下:
memcache虽然好用,解决了数据库遇到高并发时的IO问题,但还有很多问题丞待解决:
1、数据持久性问题,memcache用内存进行存储,一旦memcache服务器宕机,那么所存储的数据全部丢失。
2、memcache存储的数据类型单一,只支持key-value型的数据,要存储复杂类型的数据,必然需要PHP脚本的大量逻辑操作。
redis基本介绍
redis也是一个内存非关系型数据库,它拥有memcache在数据存储上的全部优点,而且在memcache的基础上(memcache的介绍可以看前面一篇: / make test ,在make install时可以指定其安装路径。
安装完成后,将安装包里的redis的conf文件mv到安装目录的bin目录下,它是配置和启动redis所必需的。
除此,安装目录文件下bin目录里还有如下文件。
redis-benchmark //性能测试工具 -n xxx 表示发出xxx条命令用来测试redis-check-aof //检查aof日志的工具redis-check-dump //检查rbd日志的工具redis-cli //客户端redis-server //redis的服务器进程redis-sentinel //redis哨兵模式的进程
我们用vim打开redis.conf来简单配置redis服务器。
将daemonize 选项改为yes来后台运行database n 设置一个redis服务器里有n个服务器,默认为0-共个port n 来设置redis服务器的监听端口设置requirepass yourpassword来设置密码,客户端连接后用auth password来通过验证
我们使用./redis-server ./redis.conf命令来打开redis服务器。
使用./redis-cli [-p port]来连接服务器(默认)。
redis的命令
基本(包括string字符串类型)命令
list(链表)命令
set(集合)命令
sorted_set(有序集合)命令
zadd sorted_set score1 key1 score2 key2 score3 key3...向有序集合中添加key,并定义其score,集合会用score对其排序zrange sorted_set a b [withscores]从第a到第b显示有序列表中的值 b为-1时显示全部,[显示各个值的score]zrank/zrevrank sorted_set key 正序/倒序显示key在有序集合中的位置zrem sorted_set key 删除有序集合中的keyzcard sorted_set [m n]计算有序集合中[score在m到n之间的]一共有多少个
hash(哈希类型)命令
hset hashset key value 设置hash表key的值为valuehget hashset key 获取hash表的key值hdel hashset key 删除hash表中的一个keyhlen hashset 获取hash表的长度
redis命令繁多,这里只列了一点简单的,具体命令可以其官网或其中文站 key1 [key2...]unwatch 取消所有监测。
redis原生发布和订阅功能,它类似于设计模式中的观察者模式,被订阅对象一旦发布了新的消息,那么所有订阅对象都会收到这条消息。使用方式为:
redis的数据持久化
redis通过rdb和aof两种方式实现数据持久化,两种数据持久化方式都会占用CPU资源,拖慢redis的执行效率,一般两种模式配合使用。
rdb方式的主要原理就是达到某一写入条件后把内存中的所有数据的快照保存一份到磁盘上,数据恢复时用数据快照恢复。
aof方式是通过将每条redis执行命令记录入文本文件,恢复数据时重复执行记录的命令。
rdb方式实现数据持久化
用save/bgSave命令可以主动使用rdb方式[后台]存储rdb
修改redis.conf文件进行配置
aof方式实现数据持久化
aof持久化的问题在于将每条指令都记录下来,即使是对一个键的反复操作,这样会导致aof文件越来越大,使用aof重写将会大大减小aof文件的体积,因为它是在最后将数据库内数据的状态统一逆化为命令,而不论一个key经过了多少次变化。使用 bgrewrite 命令可手动重写aof文件。
配置redis.conf文件:
redis的主从复制
主从复制时,主从都要以自己的.conf文件来启动服务器。主服务器可以将rdb关闭,以从服务器来产生rdb,加快主服务器的速度。
从服务器复制一个redis.conf文件,设置端口,pid存放文件,只读,主服务器的密码。
设置完成后,分别用不同的conf文件打开服务器。
考虑到主服务器宕机的情况,我们用sentinel redis哨兵来监测服务器状态,在主服务器宕机之后做出反应。sentinel是redis集成的,我们只需要将安装包里的sentinel.conf文件拷贝到redis/bin目录下,使用redis-sentinel进程文件来启动服务器即可。
PHP操作redis服务器
安装好php的redis扩展后(具体可参考前面的文章 Linux下php安装Redis扩展的方法
PHP数据库操作四:mongodb用法分析 本文实例讲述了PHP数据库mongodb用法。分享给大家供大家参考,具体如下:传统数据库中,我们要操作数据库数据都要书写大量的sql语句,而且在进行无
基于php编程规范(详解) 今天写这个是为了提醒自己编程过程不仅要有逻辑思想还有要规范代码这样可读性1、PHP编程规范与编码习惯最主要的有以下几点:1文件说明2function函数
PHP实现的堆排序算法详解 本文实例讲述了PHP实现的堆排序算法。分享给大家供大家参考,具体如下:经验工作了,面试我工作这家公司时被技术面打击得不行,因为自己的数据
标签: php 数据库操作
本文链接地址:https://www.jiuchutong.com/biancheng/287506.html 转载请保留说明!上一篇:PHP数据库操作二:memcache用法分析(php数据库编程)
下一篇:PHP数据库操作四:mongodb用法分析(php7数据库操作)
友情链接: 武汉网站建设