免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: yanyangtian4502

从案例引发的对缓存设计的思考,干货讨论,绝对不玩虚的(获奖名单已公布-2012-6-13) [复制链接]

论坛徽章:
0
发表于 2012-05-23 18:25 |显示全部楼层
趁大家下班 我也有点时间  发个帖子
大家还记得我之前说的那个问题吧,去参看这个:http://bbs.chinaunix.net/forum.p ... mp;fromuid=23458341

在使用缓存的时候,不管是分布式的还是非分布式的,我在查找缓存键的时候,可以采用“相似度匹配”算法进行,
我这里还是举个例子,假设在缓存中存在下面的数据:

key                              value
电冰箱                 XXXXX
容声冰箱               XXXXXXX
海尔电冰箱             XXXXXXXXXX


好,假设缓存中存在上面的数据,
那么,一般我采用缓存的时候,就是调用API,例如get("电冰箱"),来获取数据,
那么 现在我们不这么做了,而是采用相似度算法来进行,
例如,如果用户输入“冰箱”,然后查找,那么,
我们可以将用户输入的这个“冰箱”与缓存中的所有缓存键进行相似度的比较,按照相似度排序,然后我们可以自己决定如何返回数据,例如,将相似度最大的缓存键 对应的数据返回,我们可以设置一个阀值,例如,例如98%,将相似度>98%的所有缓存键对应的数据全部取出。

同时,我们也可以结合关键键的查询频率来进一步的约束返回的数据。这些都是很流行的思路。

所以,同样的东西,不一样的人使用,思路不一样,效果也是不同!

论坛徽章:
19
CU大牛徽章
日期:2013-03-13 15:32:35CU大牛徽章
日期:2013-09-18 15:15:15CU大牛徽章
日期:2013-05-20 10:46:44CU大牛徽章
日期:2013-05-20 10:46:38CU大牛徽章
日期:2013-05-20 10:46:31CU大牛徽章
日期:2013-05-20 10:46:25CU大牛徽章
日期:2013-05-20 10:46:18CU大牛徽章
日期:2013-04-17 11:19:51CU大牛徽章
日期:2013-04-17 11:19:42CU大牛徽章
日期:2013-04-17 11:19:37CU大牛徽章
日期:2013-04-17 11:19:32CU大牛徽章
日期:2013-04-17 11:19:28
发表于 2012-05-23 19:53 |显示全部楼层
回复 84# lsstarboy


    为啥我的没有这种现象呢?我用讯雷下到的php文件还是没有php源代码的

论坛徽章:
19
CU大牛徽章
日期:2013-03-13 15:32:35CU大牛徽章
日期:2013-09-18 15:15:15CU大牛徽章
日期:2013-05-20 10:46:44CU大牛徽章
日期:2013-05-20 10:46:38CU大牛徽章
日期:2013-05-20 10:46:31CU大牛徽章
日期:2013-05-20 10:46:25CU大牛徽章
日期:2013-05-20 10:46:18CU大牛徽章
日期:2013-04-17 11:19:51CU大牛徽章
日期:2013-04-17 11:19:42CU大牛徽章
日期:2013-04-17 11:19:37CU大牛徽章
日期:2013-04-17 11:19:32CU大牛徽章
日期:2013-04-17 11:19:28
发表于 2012-05-23 19:58 |显示全部楼层
回复 90# lsstarboy


    原来这个是Nginx的问题呀,我还一直很好奇,为什么我本机做虚拟服务器居然有502错误

论坛徽章:
0
发表于 2012-05-24 09:49 |显示全部楼层
回复 88# Gray1982


    是的,你可以弄个环境测试一下。

论坛徽章:
0
发表于 2012-05-24 09:56 |显示全部楼层
回复 89# chenjintao_ii


    大部分的502都不是nginx自己的错误,比如后端的cgi没有返回,进程僵死,脚本执行超时等等,nginx把错误都揽了过来。呵呵!

论坛徽章:
0
发表于 2012-05-24 11:30 |显示全部楼层
本帖最后由 Gray1982 于 2012-06-15 14:19 编辑

回复 94# 飞鸿无痕


    可能我这边没那么大家数据量,所以没发现这个问题

论坛徽章:
0
发表于 2012-05-24 11:31 |显示全部楼层
回复 93# 方兆国


    我的书里说过 是后面的原因

论坛徽章:
0
发表于 2012-05-24 15:05 |显示全部楼层
飞鸿无痕 发表于 2012-05-24 09:56
回复 89# chenjintao_ii


我是进了一个投票网站,点击“提交”按钮后,浏览器给出这个回复的。朋友让我帮他投下票,而且有人投票成功,说明这个网站能够正常运行,只是不给我面子。

论坛徽章:
0
发表于 2012-05-24 15:35 |显示全部楼层
本帖最后由 dynamiclu 于 2012-05-24 15:36 编辑

缓存设计:
           1. 缓存数据的增、清、改逻辑模型
           2. 热度数据大小、过期时间
           3. 缓存的持久化或半持久化


缓存的种类:
           1. 页面缓存
           2. 单个对象缓存
           3. 列表缓存
           4. 长度缓存(当记数器用)
               5. 散列的缓存


如附件 PPT 下载

缓存基础.zip

786.17 KB, 下载次数: 123

论坛徽章:
19
CU大牛徽章
日期:2013-03-13 15:32:35CU大牛徽章
日期:2013-09-18 15:15:15CU大牛徽章
日期:2013-05-20 10:46:44CU大牛徽章
日期:2013-05-20 10:46:38CU大牛徽章
日期:2013-05-20 10:46:31CU大牛徽章
日期:2013-05-20 10:46:25CU大牛徽章
日期:2013-05-20 10:46:18CU大牛徽章
日期:2013-04-17 11:19:51CU大牛徽章
日期:2013-04-17 11:19:42CU大牛徽章
日期:2013-04-17 11:19:37CU大牛徽章
日期:2013-04-17 11:19:32CU大牛徽章
日期:2013-04-17 11:19:28
发表于 2012-05-24 20:05 |显示全部楼层
回复 97# Gray1982


    你的书?那本儿?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP