草庐IT

redis-test

全部标签

redis - Erlang:如何在 eredis 中使用二进制 key /数据?

我对erlang有点陌生,这是一次冒险。我想实现一个速率限制器,但遇到了一些key生成问题。不久前我曾尝试实现限制器……大概一年。我想稍微清理一下...(这是一个更大项目中的一小部分。现在我认真对待它)我只想想象我的应用程序是成功的,并且我每秒收到数万个请求。当我第一次编写代码时,这里有一个片段:getClientIP(Socket)->{ok,{ClientIP,_}}=inet:peername(Socket),TplC=tuple_to_list(ClientIP),{iolist_to_binary(TplC),lists:flatten(io_lib:format("~p",

javascript - PubSub 上的 Node Redis 回调

为什么我不能在NodeRedis中使用PubSub模式设计进行回调?例如:server.publish("someChanel",someData,function(response){//responseshouldcomebackfromclient});client.on('message',function(channel,data,callback){//Dostuffwithdata//Returndatatocallbackcallback(someNewData);});这显然失败了,因为callback没有定义。 最佳答案

redis - 如何使用 servicestack 类型的客户端更新 redis 列表中的项目?

我的代码片段varredislist=client.As().Lists["key_of_list"];varm=redislist.SingleOrDefault(p=>p.member_id==request.member_id);m.email=request.email;如您所见,我已经获得了项目m,并且我还可以更新该项目。问题是如果我想更新它并把它存回redis列表,下一步怎么办?我是否应该删除它并添加一个新项目,例如redislist.Remove(old_item);varnew_item=newMyModel();new_item.email=request.email

java - 使用 Vertx 时用于 Redis 的 ORM 框架

我正在寻找“springdataRedis”解决方案。问题是我正在使用Vertx,我不想在里面注入(inject)Spring。我正在寻找将我的对象(又名实体)映射到Redis的注释解决方案。我可以将顶点注入(inject)Spring。并使用事件总线在两者之间进行集成。我有两个候选解决方案:我通过vertx事件总线获得的每个请求我将通过kafka发送它并在另一端有spring消费者(这样Spring将处理我的“redis”工作我将直接在Vertx中使用redis(使用Jedis或任何其他redis客户端)并自己管理所有redis层(dao、dto)专家们怎么看?谢谢,射线。

redis - 无缝更新大量 Redis 键和值

我在某个命名空间中有大量的Redis键/值对集合(即键有一些前缀)。此集合的来源会定期更新;它大部分保持不变,但添加了一些键,删除了一些键,还有一些具有更新的值。什么是更新Redis中的集合而不会使使用该集合的应用程序停机的有效方法?不要求更新是原子的。 最佳答案 计算现有Redis集合和更新后的源集合之间的同步增量(添加、删除、更新)。使用同步增量更新Redis集合。根据源更新的频率,您可能希望将现有Redis集合的本地副本保留在内存中以加快步骤1并减轻Redis服务器的负载。 关于r

java - 如何使用 Lettuce 和 Redis 异步调用 Geo 命令

我正在尝试使用生菜来向Redis添加地理位置。我设法使用同步方法做到了。是否可以使用lettue的异步api转换此逻辑?同步代码:StatefulRedisConnectionconnection=client.connect();RedisCommandssyncCommands=syncCommands=connection.sync()longresult=syncCommands.geoadd(key,longitude,latitude,userId);如何将其转换为异步调用?谢谢,射线。 最佳答案 尝试:Stateful

node.js - Redis-node库丢弃事务

实际上,我正在使用优秀的库redis-node。但是,我不知道如何使以下情况起作用:我有一个由参数传递的数量字段,然后,在一个for循环中,我需要使用LPOP从第一个列表中提取项目,然后RPUSH到另一个列表中,数量必须相同,都在一个交易区block。那么,如果数量参数和提取的项目不同,我不想丢弃交易,这可能吗?我放了一段我现在的代码。varredisNode=require('redis-node');varclient=redisNode.createClient();varqty=req.params.qty;//inittransaction,lpopfirstandrpush

Redis Sentinel 在重启之前不会复活 master -> slave

我在使用Sentinel恢复主节点时遇到问题。具体来说,当master丢失时,slaves会被正确提升,但master在重新启动时永远不会降级。但是,如果我立即重新启动Sentinel,主节点将被降级。是我的配置不好,还是我缺少一些基本的东西?编辑:Xposthttps://groups.google.com/forum/#!topic/redis-db/4AnGNssqYTw我如下设置了几个虚拟机,全部使用Redis3.1.999:192.168.0.101-RedisSlave192.168.0.102-RedisSlave192.168.0.103-RedisMaster192.

node.js - Redis-Node库,使用什么数据结构?

我正在使用redis-node库(http://github.com/bnoguchi/redis-node),要求如下:我有一组编号的项目[1,2,3](这些项目不能重复),我需要按请求的项目数量POP/PUSH到另一个列表,主列表的第一个并推送进入另一个列表。所以,我认为更好的选择可以是排序集,因为项目不能相同,但我没有同时弹出和添加的方法(这必须在事务中block),我需要弹出列表/集合的第一个项目,而不是随机的。最好的方法是什么? 最佳答案 如果您希望以原子方式(非事务性)做某事,那么您可以支持luascripts.此外,r

redis - 在 Redis 中,如何在多个排序集合中获得最高分?

假设我有多个排序集:zset1zset2zset3这是所有集合的数据:zset1-----A:1B:22C:4D:555zset2-----N:14O:15P:16D:2750zset3-----D:333Y:0Z:1这就是我想要的结果。哪些zsets包含最高值的key对。这些key对是什么?Results-------zset2:D:2750zset1:D:555zset3:D:333zset1:B:22...我研究过使用ZINTERSTORE,但它似乎无法在多个zsets中仅获得前100个最高分。如果重要的话,我有成百上千个zset。 最佳答案