草庐IT

lua-redis

全部标签

redis - 实例化新的 redis-server (Linux)

我正在我的设置中实例化一个新的redis服务器(目前它只运行一个)。其中一个步骤是在/etc/init.d/中复制redis-server并为新实例配置它。具体来说,我正在更改脚本中DAEMON_ARGS、NAME、DESC和PIDFILE的值。这是代码:PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/binDAEMON=/usr/bin/redis-serverDAEMON_ARGS=/etc/redis/redis-2.confNAME=redis2-serverDESC=redis2-serverRUND

python - 当 2 个不同的窗口访问同一个键时,为什么 Redis 返回 2 个不同的类型?

我正在使用Python和redis-pyPython客户端与同一个Redis通信,它由RedisLabs作为Redis(e)Cloud提供。在终端中,检索一个键并将值作为字符串类型返回。而当我在我的IDE中运行一个代码文件时,相同的代码返回一个字节对象。我不明白为什么他们返回不同的类型。我屏蔽了Redis主机和端口的详细信息,但它们访问的是同一个Redis,而且我在截取这两个屏幕截图之间没有做任何更改。 最佳答案 这不是redis的问题,而是Py2和Py3的区别。Python3.0usestheconceptsoftextand(b

redis - 杰迪斯连接异常 : Unexpected end of stream error

我正在尝试执行rpush操作并遇到以下错误:redis.clients.jedis.exceptions.JedisConnectionException:Unexpectedendofstream.atredis.clients.util.RedisInputStream.ensureFill(RedisInputStream.java:199)~[jedis-2.9.0.jar:na]atredis.clients.util.RedisInputStream.readByte(RedisInputStream.java:40)~[jedis-2.9.0.jar:na]atredis

lua - Redis 链式命令

我想知道将一系列命令链接在一起以便它们在返回最终结果之前都在Redis上执行的最佳方法是什么?我所有的数据都存储在集合中。data1=[a,b,c,d,e]data2=[b,c]我将如何获取data1和data2的交集(result=b,c),然后对结果调用SRANDMEMBER?在一个系列中它看起来像:redis>SINTERdata1data2redis>SRANDMEMBER当然可以将其他操作链接在一起,例如SDIFF和SADD,但从交叉点中选择随机项目似乎是最简单的示例。我尝试创建一个lua脚本,但当我尝试执行以下代码时收到消息“Luaredis()命令参数必须是字符串或整数”

redis - redis的aof文件太大,重写后会怎样?

我正在阅读有关redis持久性的内容,目前有两种方法可用于保持redis持久性。AOF关系数据库好的,我将跳过“AOF”和“RDB”的基本含义,我有一个关于“AOF”的问题,我的问题是“当redis的aof文件太大时会发生什么,即使在被重写?”,我在谷歌上搜索,但没有结果,有人说当“AOF”文件的大小达到3G或4G时,redis-server将无法启动。谁能告诉我?非常感谢。 最佳答案 Redis不限制AOF文件的大小。您可以安全地拥有一个大的AOF文件。我的一个Redis实例写了一个大小为95G的AOF文件,它可以成功地重新加载文

redis - 为什么我在 REDIS 控制台中得到 "(error) ERR unknown command: redis-cli"?

我正在尝试删除一些键,但无法执行任何redis-cli命令:redis-cli--scan--patter'assetInfo*'|xargsredis-clidel错误是:(error)ERRunknowncommand:redis-cli我使用的是REDIS3.2.7版。这个版本不支持redis-cli吗?什么给了?更新:当我在没有'redis-cli'的情况下执行此操作时,我得到了这个:AzureRedisHealthDev:0>--scan--pattern'spout*'|xargsredis-clidelERRunknowncommand:--scan

linux - 从 shell 脚本启动时使 redis 服务器忽略 Ctrl+C

我想使用shell脚本启动Redis服务器,然后监控日志文件:#!/bin/bash/path/to/redis/src/redis-server&tail-f/path/to/log/logfile.log如果我运行此脚本并从终端按Ctrl+C,tail-f终止,这是我想要的,但是Redis也检测到SIGINT并退出。我试过这样写脚本:#!/bin/bashtrap''INTTSTP~/redis/src/redis-server&tail-f./script1这次事情变得更糟,tail-f拒绝终止,而Redis仍然检测到SIGINT并退出。在忽略信号方面似乎存在一些Redis特有的

lua - 使用 redis.call ("sinter", ...) 命令将多个集与 lua 脚本相交

我想交叉多个集合(2个或更多)。要相交的集合数作为ARGV从命令行传递。随着从命令行传递的集合数量。所以redis.call()函数的参数个数是不确定的。如何在Lua脚本中使用redis.call()函数。但是,我写了一个脚本,它的算法如下:接受KEYS[1]中要相交的集合的数量。使用setIntersected=redis.call(ARGV[1],ARGV[2])将前两组相交。运行循环并使用setIntersected=redis.call("sinter",tostring(setIntersected),set[i])最后我应该得到相交集。上述算法的代码是:localnoOfA

java - 如何在 Lettuce Redis 客户端库中初始化 MapScanCursor?

我正在尝试使用Lettuce的同步命令执行HSCAN。问题是我想不出初始化MapScanCursor的正确方法。我在构造函数上没有成功,并且MapScanCursor.INITIAL给出类型ScanCursor(也没有运气将其转换为MapScanCursor)。这是一个例子:RedisClientredisClient=RedisClient.create("redis://"+url+":"+port);RedisHashCommandsredisCommands=redisClient.connect().sync();Listfields=newLinkedList();MapS

redis - 当 .aof 文件非常大时会发生什么?

我正在使用Redis2.8.4。仅在配置中启用附加。根据我的要求,它工作正常,但这个文件可能会变得越来越大,因此将来可能会造成内存不足?有什么解决办法吗? 最佳答案 Redis有一种方法可以通过删除无用的操作来压缩aof文件。Forexample,ifyouareincrementingacounter100times,you'llendupwithasinglekeyinyourdatasetcontainingthefinalvalue,but100entriesinyourAOF.99ofthoseentriesarenotn