位置: 编程技术 - 正文
推荐整理分享Laravel框架实现redis集群的方法分析(laravel框架实现增删改查),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:laravel框架实现搜索功能,laravel框架用到哪些设计模式,laravel框架实现日文全角转半角,laravel框架实现搜索功能,laravel框架实现cms的体会,laravel框架实现增删改查,laravel框架实现增删改查,laravel框架实现日文全角转半角,内容如对您有帮助,希望把文章链接给更多的朋友!
本文实例讲述了Laravel框架实现redis集群的方法。分享给大家供大家参考,具体如下:
在app/config/database.php中配置如下:
其中cluster选择为true,接下来就可以作集群使用了;
如果把session的driver设置为redis,则可以使用其集群功能了:
我们来看下session的实现,当我们在代码中这样写:
实际的执行流程是这样的:
Session会根据返回创建driver
即配置文件中配置的,这里我们配置为redis
最终由IlluminateSessionStore来负责put的调用
而Store类负责存储的类是IlluminateSessionCacheBasedSessionHandler
后者又将请求转发给$this->app['cache']->driver($driver)……经过一系列代码追查,存储类为PredisClientDatabase,看其构造函数:
如果设置为集群,则调用createAggregateClient方法
这里会把所有服务器放在default组中
实际存数据的类是PredisClient,这里有根据配置创建服务器的代码,具体可以自己看下;
PredisClusterPredisClusterHashStrategy类负责计算key的hash,关键函数:
getHash
getKeyFromFirstArgument
而PredisClusterDistributionHashRing负责服务器环的维护,关键函数
addNodeToRing
get
hash
大概原理是这样,如执行以下redis命令
get ok
会将ok作crc运算得到一个hash值
所有服务器按一定算法放到一个长度默认为的数组中,每个服务器在其中占几项,由以下决定:
权重/总权重*总的服务器数量*,可参考PredisClusterDistributionHashRing::addNodeToRing方法
每一项的hash值是按服务器ip:端口的格式,作crc计算的
key的hash值也有了,服务器环也计算好了,剩下的就是查找了,二分法能较快的查找相应的服务器节点
更多关于Laravel相关内容感兴趣的读者可查看本站专题:《Laravel框架入门与进阶教程》、《php优秀开发框架总结》、《php面向对象程序设计入门教程》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》
希望本文所述对大家基于Laravel框架的PHP程序设计有所帮助。
LNMP部署laravel以及xhprof安装使用教程 前言本文是介绍了关于整个过程部署laravel与xhprof安装的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧。前提成功安
Laravel框架用户登陆身份验证实现方法详解 本文实例讲述了Laravel框架用户登陆身份验证实现方法。分享给大家供大家参考,具体如下:laravel中检测用户是否登录,有以下的代码:if(!Auth::guest()){re
使用PHP+MySql+Ajax+jQuery实现省市区三级联动功能示例 使用PHP+MySql+Ajax+jQuery实现省市区三级联动功能要求:写一个省市区(或者年月日)的三级联动,实现地区或时间的下拉选择。实现技术:phpajax实现:省
标签: laravel框架实现增删改查
本文链接地址:https://www.jiuchutong.com/biancheng/288319.html 转载请保留说明!友情链接: 武汉网站建设