redis初学建表问题

php中文网
发布: 2016-08-04 09:21:45
原创
2427人浏览过

假设目前有mysql表article结构为
id
title标题
info内容
tags标签id集合
status状态(-1,0,1,2)
atime添加时间
utime更新时间
ptime发布时间
需求按(标签/状态)获取文章根据(添加/更新/发布)时间排序
此时redis表应当如何设计?
目前的想法是
string类型
article:title:{id}
article:info:{id}
article:tags:{id}
article:status:{id}
article:atime:{id}
article:utime:{id}
article:ptime:{id}
set类型
全部集合:article:list
根据状态分开存储集合:article:status:{-1/0/1/2}
根据标签分开存储集合article:tag:{tag_id}

使用类似sort article:tag:1 by article:atime:*来获得排序,这样设计是否合理?

还有一个问题,尝试做搜索的时候,使用
zrangebylex article:status:0 [f (g
结果报错
ERR unknown command 'zrangebylex'
是什么原因?

LOVESTUdio多校园网络店铺
LOVESTUdio多校园网络店铺

主要更新介绍: 完美整合Discuz!论坛,实现一站式登陆、退出、注册; 同步所有会员资料; 新增购物车功能,商品购买更加方便、快捷; 新增部分快捷菜单,网站访问更加方便; 限制首页商品、店铺标题显示长度; 修正会员后台管理不能更改密码的错误; 完善商品显示页面所有功能链接; 修正后台标签管理部分错误; 修正前台学校列表不按后台顺序显示的错误; 修正搜索功能中学校名称过长导致显示紊乱的现象; 修正

LOVESTUdio多校园网络店铺 0
查看详情 LOVESTUdio多校园网络店铺

回复内容:

假设目前有mysql表article结构为
id
title标题
info内容
tags标签id集合
status状态(-1,0,1,2)
atime添加时间
utime更新时间
ptime发布时间
需求按(标签/状态)获取文章根据(添加/更新/发布)时间排序
此时redis表应当如何设计?
目前的想法是
string类型
article:title:{id}
article:info:{id}
article:tags:{id}
article:status:{id}
article:atime:{id}
article:utime:{id}
article:ptime:{id}
set类型
全部集合:article:list
根据状态分开存储集合:article:status:{-1/0/1/2}
根据标签分开存储集合article:tag:{tag_id}

使用类似sort article:tag:1 by article:atime:*来获得排序,这样设计是否合理?

还有一个问题,尝试做搜索的时候,使用
zrangebylex article:status:0 [f (g
结果报错
ERR unknown command 'zrangebylex'
是什么原因?

zrangebylex需要redis >= 2.8.9

sort article:tag:1 by article:atime:* 这句话是获得添加时间排序的标签为1的文章id排序吧?这设计可行

string类型的话不太推荐,会造成key过多

相关标签:
最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号