我有一个新闻网站,我想根据用户访问创建热门帖子,间隔为7天。我使用带有前缀的Redis::incrby()创建了计数机制:Redis::incrby('news:popular:count:'.$news_id.':'.\Carbon\Carbon::now()->format('d-m-Y'),1);但问题是,我不知道如何使用GET检索它并对值进行排序。所以我希望根据用户数量获得热门帖子。有什么方法可以实现并获得热门帖子吗?还是有更好的方法来做到这一点? 最佳答案 我找到了自己的解决方案并将其发布在这里,如果其他用户遇到与我类似的
对于Redis中可能存在或可能不存在的聚合对象的集合,我想在它们上调用INCRBY和EXPIRE。根据我的阅读,似乎使用MULTI或EVAL是可行的方法。在聚合对象上执行INCRBY和EXPIRE操作之后,我需要获取从INCRBY操作返回的每个聚合的更新计数。我正在使用Lettuce客户端,并正在寻找如何最好地执行此操作的示例。为简单起见,假设聚合对象类似于:publicclassAggregate{privateStringid;//keyinRedisprivateLongcount;//INCRBYoperateson} 最佳答案
对于Redis中可能存在或可能不存在的聚合对象的集合,我想在它们上调用INCRBY和EXPIRE。根据我的阅读,似乎使用MULTI或EVAL是可行的方法。在聚合对象上执行INCRBY和EXPIRE操作之后,我需要获取从INCRBY操作返回的每个聚合的更新计数。我正在使用Lettuce客户端,并正在寻找如何最好地执行此操作的示例。为简单起见,假设聚合对象类似于:publicclassAggregate{privateStringid;//keyinRedisprivateLongcount;//INCRBYoperateson} 最佳答案
我想知道是否有一种方法可以在我的应用程序中通过单次往返在Redis中执行此操作:对于给定的键K,其可能的值V是[A,B]范围内的任何整数。基本上,它有上下边界。当发出INCRBY或DECRBY命令时(例如INCRBYkey10),它将仅如果结果值没有超出范围。我需要这个操作是原子的,我想知道是否有办法避免为此编写Lua脚本。谢谢。 最佳答案 这个答案可能不是您所期望的。但我不得不说Lua脚本是非常清晰的解决方案。--range-incrby.luakey,incrementlocalkey=KEYS[1]localincrement