草庐IT

redis-sharp

全部标签

redis - 以非 root 用户身份运行 Redis 服务

我已经将它安装在RHEL7中并进行了一些配置。它作为根启动并运行。我正在尝试以非根用户身份运行Redis服务。任何指针将不胜感激。 最佳答案 如果用户和组“redis”还没有创建,请创建。useraddredis然后更改名为“redis-server”和“redis-cli”的文件的所有者(实际上,我建议更改所有关于redis的文件,但我不知道你安装的路径)。chownredis."yourpath"像这样创建脚本vim/usr/lib/systemd/system/redis.service写内容[Unit]Description

lua - 如何针对多个 Redis 值并行运行单个 Lua 脚本?

在Redis中,我们有表示输入值的字符串。我们(想要)有一个动态生成的Lua脚本(在用户使用GUI定义之后),它根据输入字符串计算结果字符串。每组输入值相互独立。所以这应该是微不足道的并行化,但是,EVAL似乎会阻塞直到完成。在Redis中有没有一种方法可以跨一堆值运行单个Lua脚本,而无需重写脚本本身来做到这一点? 最佳答案 由于Redis是作为单线程服务器实现的,因此不可能从同一个客户端并行运行多个命令。但是,您应该能够在多个客户端上运行多个命令(包括script命令),Redis会将它们交织在其IO循环中。话虽如此,Redis

redis - 在新键中包含值

如何在新的键中包含一个值?例如我用value1创建了userIdkey。每当我创建一个新用户时,我都想要新value的key包含id,像这样:user:[id]127.0.0.1:6379>setuserId1OK127.0.0.1:6379>incruserId(integer)2127.0.0.1:6379>setuser:[userId]nameUserName(error)ERRsyntaxerror127.0.0.1:6379>这是什么语法? 最佳答案 没有这样的语法-您的应用程序逻辑应该获取下一个用户ID并将其设置在新k

redis - 根据条件增加或重置

我只想在某个键存在时增加一个值。如果键不存在,则值应设置为1。是否可以将此逻辑实现为原子步骤? 最佳答案 INCR命令完全符合您的要求。如果key不存在,则在执行自增操作前将value设置为0,即value将设置为1。该命令以原子方式运行。更新如果要增加的键不是检查存在的同一个键,则必须编写一个Lua脚本来完成事务中的工作。if(redis.call("exists",KEYS[1])>0)thenredis.call("incr",KEYS[2])end 关于redis-根据条件增加或

redis - Vagrant/Redis - 无法从主机连接

仍在掌握Vagrant/Redis/Linux的诀窍。请帮忙!问题是我无法连接到在VM上运行的Redis服务器。主机:MacbookVagrant文件:config.vm.box="laravel/homestead"config.vm.hostname="redis-test"config.vm.network"forwarded_port",guest:6379,host:6379,id:"redis"访客:laravel/homesteadVagrantbox./etc/redis/redis.confbind0.0.0.0改完redis.conf后,我也重启了服务sudo/et

docker - Docker 撰写文件的 Redis 连接失败

我正在使用来自开源存储库的docker-compose文件。值得注意的是,它缺少version和services键,但它仍然有效(到目前为止,我还没有看到没有这些键的撰写文件)。redis:image:redisports:-'6379'app:build:.environment:-LOG_LEVEL='debug'links:-redisdocker-composeup启动一切,应用程序可以通过127.0.0.1:6379与redis通信。但是,当我重新添加version和services键时,与redis的连接被拒绝:version:'3'services:redis:image

redis - 2/3 哨兵实例在同一个数据中心

假设我有两个数据中心,每个数据中心都运行一个Redis实例。此外,我在这两个数据中心中运行了三个哨兵实例,每个实例都在单独的机器上,但其中两个在同一个数据中心。这是个问题吗?在最坏的情况下,如果第一个数据中心不可用,则三个哨兵实例中的两个+一个redis实例同时关闭。如果这个redis实例是主实例,则会故障转移到另一个数据中心。但是如果数据中心1再次可用会怎样?我猜这将是新配置:Datacenter1-Sentinel1->Pointstomasterindatacenter1Datacenter1-Sentinel2->Pointstomasterindatacenter1Datac

AWS Redis 集群的 Python 客户端

谁能建议启用AWSRedis集群的Python客户端?我正在使用redis-py-cluster,但它失败了:示例代码:fromredisclusterimportStrictRedisClusterstartup_nodes=[{"host":"xxxx.clustercfg.apn2.cache.amazonaws.com","port":"6379"}]r=StrictRedisCluster(startup_nodes=startup_nodes,decode_responses=True,skip_full_coverage_check=False)r.set('foo','

database - 有什么有效的方法可以减少 HyperLogLog ( redis ) 中的错误?

在redis中,我们将hyperLogLog设置为不同的元素。众所周知,对于每个key,HLL仅消耗12kb内存并产生标准误差为0.81%的近似值因为我有太多要计算的元素。所以在这里我想通过将元素存储到多个hll键中来降低错误发生率(例如"hll_key_%d"%(Elementmod1024))这实际上是降低错误的有效方法吗?或者其他什么方式实现? 最佳答案 这取决于。如果插入元素的数量明显大于Redis实现中的寄存器数量(2^14),则可以假设HyperLogLogs的错误呈正态分布。如果元素被平均分片到多个HyperLogLo

python - 使用 redis 和 python 进行复杂查询

我有一个数据需要根据多个查询进行搜索list1=redisClient.zrangebyscore('FID',min=20150000,max=20190000)上面的代码为我提供了日期在2015年1月到2019年1月之间的FID(首次介绍日期)的所有值。所以它给了我想要的结果,但我也想将此搜索附加到基于日期和对于205jan到2019jan之间的所有日期,NTM值为1。list2=redisClient.zrangebyscore('NTM',min=1,max=1)我怎样才能将这两个搜索条件组合在一起。 最佳答案 通过一次搜索