- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
我在 heroku 上部署了一个简单的应用程序。基本上,用户来输入搜索词。我想在页面的一侧添加一个小部分,显示“最近的搜索”。虽然只是为了这个我不想在我的应用程序中添加数据库。我读过有关 redis 的内容,但它可以用来做什么吗?我可以在 Redis 哈希上推送大约 10 个最近的搜索词并检索它们吗?
最佳答案
是的,这是 redis 的一个很好的用例。将搜索词推送到 Redis 列表中,并在您想要显示它们时检索最后十个。您可以定期从列表中删除除最后十个项目之外的所有项目,以避免它变得太大。
像这样将项目添加到列表中(假设 REDIS
是一个 Redis 连接):
REDIS.rpush('searches', 'Xyz')
并像这样检索最后十个:
REDIS.lrange('searches', -10, -1)
(作为副作用,Redis 将首先获取列表的最后一个元素,这可能是您想要的)。 Redis 列表的工作方式类似于 Ruby 数组,负索引表示从末尾开始计数。
要将列表限制为十个元素,您可以使用此命令:
REDIS.ltrim('searches', -10, -1)
您要么在每次推送内容时执行此操作,以确保列表永远不会增长,要么您定期执行此操作。 lrange
操作意味着您只会检索最后 10 个元素,所以这只是一个偏好问题。
关于ruby-on-rails - 在 heroku 应用程序上使用 redis 代替数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4578949/
关闭。此题需要details or clarity 。目前不接受答案。 想要改进这个问题吗?通过 editing this post 添加详细信息并澄清问题. 已关闭 7 年前。 Improve th
所以我正在开发一个黑 jack 程序,但我有点卡住了。我会警告大家,我对编程真的很陌生,而且,我正在项目中期......所以有一些松散的结局和未使用的变量,以及一些不必要的逻辑(用于测试),但这就是我
我正在尝试创建一个可用作 OpenGL 测试工具的示例程序。到目前为止,我的那个似乎可以工作,但似乎忽略了通过统一变量 MVPMatrix 传递的 MVP 矩阵。当我添加代码以读回制服并检查它是否确实
感谢您帮助我,这是有关我的代码的部分。 printf("Thank you, now please enter the logic gate"); scanf("%s", &C); if (C ==
public static void ejemplosString(String palabra){ char[] letras = palabra.toCharArray();
所以,我有一个 php 应用程序,通过 cgi 和 nginx 运行。我有一个 .jar 程序,用于在条形码打印机(Zebra)上打印条形码,猜猜看是什么!。 我的 php 应用程序使用 exec()
我遇到的唯一问题是 getAll() 方法,它似乎在 PersonnelController 类中的位置立即运行。我也曾在其他很多地方尝试过,但都没有成功。 setAll() 方法看起来不错,我已经测
我是一名优秀的程序员,十分优秀!