草庐IT

lua-redis

全部标签

redis - Redis 上的 Mysql 类型限制函数

我正在使用python访问redis中的数据。我想根据模式访问键,但我不想要所有键,我只想对输出进行限制,就像mysql限制函数一样。显然,我可以根据模式获取所有键,然后只对列表进行切片,但问题是我不想获取那么多数据,我只想获取一个样本,因为有数百万个键,对于那个模式。有没有办法做到这一点?我相信人们会面临这个问题。他们是怎么做到的? 最佳答案 您可以尝试将SCAN命令与MATCH和COUNT选项一起使用。但请注意,COUNT只是对实现的提示,并不能保证。例如:127.0.0.1:6379>scan0matchkey-*count5

aync 中的 node.js redis 选择和成员

我对node.js中的异步调用感到很痛苦。我知道我必须享受它,但实际上我讨厌它,因为node.js强制你使用它,而且没有其他选择。我尝试在不同的数据库上运行smembers。所以在这里我想确保我使用了所有3个数据库,因此我使用_.after。但是它不起作用。varredisfetcher=function(string,callback1){varretrieved=[]varcallback=function(){callback1(retrieved)}varafterAll=_.after(3,callback)for(varcol=0;col如果你能帮助我,我将不胜感激。如果您

javascript - 为 node.js 应用程序初始化 redis 数据库的推荐机制是什么?

我是node.js的新手,还不熟悉它周围的生态系统。我有一个单页的Express应用程序,它在redis中缓存一些数据,我想向redis添加一些配置设置>分贝。到目前为止,我只是简单地使用redis-cli手动设置必要的键。我更愿意以某种方式让npm运行脚本(或其他东西),以便尽可能简单地在服务器上部署应用程序。为node.js应用初始化redis数据库的推荐机制是什么? 最佳答案 使用npm上的redis模块,您可以轻松地使用mset()一次设置多个键。示例:varredis=require('redis'),client=red

基于 RedisTemplate + 线程池 实现 Redis分布式锁(含模板、带图文、代码段示例引导)

目录什么是分布式锁?为什么需要分布式锁?redis为什么能实现分布式锁?如何实现redis分布式锁?在执行业务逻辑代码时该服务挂掉了怎么办?如果运行时间超过了过期时间怎么办?如何设计架构将分布式锁性能提升?业务场景描述:第一次优化第二次优化最终分布式锁代码模板前言        我们平时所使用到的Redis大多是用来用作缓存的,但是Redis也有很多其它热门的用途,如分布式锁、排行榜、计数器、队列 等。本篇文章将结合代码示例、图文介绍 为什么Redis能够用作分布式锁以及分布式锁容易出现的bug分布式锁的性能提升并引导大家逐步优化一个分布式锁什么是分布式锁?为什么需要分布式锁?        

java - redis 批量增量更新

我在redis数据库中有大约10,000,000条记录。我收到了一个包含大约100,000个字符串的单列CSV文件,这些字符串对应于我的redis数据库中的键。对于CSV中的每个字符串,我需要将redis中的值递增1。通常使用INCR命令递增,但有没有一种方法可以使它比创建一个迭代100,000次并逐个发送INCR命令以单独更改每个键值的循环更快?有没有更海量的更新方式? 最佳答案 首先,每个redis驱动都有“Pipeline”来执行批处理命令。您不需要将incr命令一个一个发送,而是将它们一起发送到redis服务器。其次,如果您

redis - 我在后台启动 Redis 服务器后,Gulp 任务卡住了

gulpfile.jsvarshell=require('gulp-shell');gulp.task('startRedis',shell.task(['redis-2.8.15/src/redis-server>/dev/null&']));当我运行上面的startRedisgulp任务时,它会启动redis服务器但永远不会退出。$gulpstartRedis[19:03:42]Usinggulpfile~/myhome/gulpfile.js[19:03:42]Starting'startRedis'...如果我停止redis服务器,它就会返回。不知道哪里出了问题,请帮忙。

redis - 为什么用Play Redis插件会报错 "unresolved dependency: com.typesafe#play-plugins-redis_2.11;2.3.0"?

我决定使用PlayFrameworkRedisPlugin但我收到以下错误:[error](*:update)sbt.ResolveException:unresolveddependency:com.typesafe#play-plugins-redis_2.11;2.3.0:notfound为什么? 最佳答案 尚未发布。http://typesafe.artifactoryonline.com/typesafe/releases/com/typesafe/play/plugins/https://github.com/types

redis - 获取大于 x 的随机 Redis key

我知道命令“RANDOMKEY”从当前选择的Redis数据库返回一个随secret钥。但是,假设所有键值都是数字,我如何获得一个值大于零的随机键? 最佳答案 你不能为此使用RANDOMKEY,但你可以为此使用RedisSet。对于您在数据库中设置的每个非零键,将该键的名称添加到一个集合中。例如,假设您的key是:SETfoo1按照该命令执行以下操作:SADDnonzerosfoo假设您将每个非零键名称添加到名为nonzeros的集合中,您可以通过以下操作获得随机键名称:SRANDMEMBERnonzeros然后为该key执行GET。

redis - 将整个 Redis 数据库重命名或复制到另一个数据库?

我有一个从Redis数据库(DB1)获取所有数据的应用程序,该数据库每小时由外部进程更新一次。在本次更新中,Redis中的所有数据都会被替换。为了避免更新时主应用程序出现任何错误,我考虑让更新程序进程写入辅助Redis数据库(DB2),完成后,将此数据库切换为应用程序正在使用的数据库。我没有找到重命名或复制整个Redis数据库的方法,所以我能想到的唯一方法是从DB1中删除所有键,然后使用MOVE将来自DB2的所有新key保存在DB1中。有没有更好的方法来完成这个? 最佳答案 为什么不直接拥有DB2SLAVEOFDB1,用INFO轮询

redis - redis 是否串行处理命令?

出于某种原因,我必须编写一个异步客户端来与Redis服务器通信。对于每一个连接,redis是否按照命令的顺序串行处理命令以相同的顺序接收和发送响应?因为我要在客户端使用队列来存储命令。 最佳答案 是的,原样singlethreaded,它会一条一条地处理你的命令。 关于redis-redis是否串行处理命令?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/25969715/