时间:2021-05-26
情景:我们平台有好多游戏, 运营的同事在查询某一款游戏的时候, 目前使用的是html的select下拉列表的展现形式, 运营的同事得一个个去找,然后选中,耗时又费眼
效果:输入"三国"或者"国三", 将自动列出所有包含"三国"的游戏名字, 输入不限顺序; 例如输入"杀三国",仍然会将"三国杀"这款游戏找出来
实现:我用redis的集合+PHP的array_intersect()和mb系列函数, 实现了一个超迷你的全文检索功能
原理:(大道不过两三言,说穿不值一文钱,哈哈)
1、将所有的游戏名字读出来,拆分成单个汉字
2、 将这些汉字作为redis集合的键,写入redis,每个集合里的值是所有那些游戏名字中包含此汉字的游戏的id
3、当用户输入文字的时候通过ajax异步请求,将用户输入传给PHP
4、将输入的文字拆分成单个汉字, 分别找到这些汉字在redis中的集合值
5、取出来,求交集,就找到了同时包含这几个汉字的游戏的id
6、最后到数据库里查出来相应的游戏信息即可
缺点:删除数据不方便
PHP写入redis和检索的代码:
操作redis的方法
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
本文实例为大家分享了php+redis消息队列实现抢购的具体代码,供大家参考,具体内容如下实现功能:1.基于redis队列,防止高并发的超卖2.基于mysql的
本文实例讲述了PHP+MySQL+sphinx+scws实现全文检索功能。分享给大家供大家参考,具体如下:我的个人环境是PHP7.1+MariaDB10.1.2
ubuntu系统上为php加上redis扩展的实现方法最近一个项目,,想用redis作为数据库,php是不待redis扩展,必须安装,怎么安装呢?我在网上找的很
上一篇文章聊了一下使用Redis事务来解决高并发商品超卖问题,今天我们来聊一下使用Redis链表来解决高并发商品超卖问题。实现原理使用redis链表来做,因为p
本文实例讲述了PHP+redis实现的购物车单例类。分享给大家供大家参考,具体如下:redis=newRedis();$this->redis->connect