草庐IT

redis-test

全部标签

node.js - Redis Pub/Sub 聊天室

我是Redis发布/订阅的新手,所以请多多包涵。我正在尝试创建一个IRC,用户可以在其中创建自己的聊天室,有点像Gitter。以下是我到目前为止所做的。我通过用户名将用户订阅到不同的channel只是为了测试。事情是当我发布到channelx时,订阅到channely的客户仍然得到相同的消息..我正在使用redis-cli和PUBLISH命令发布。functionhandleIO(socket){functiondisconnect(){console.log("Clientdisconnected");socket.broadcast.emit("userd/c",socket.us

c# - 用于在 Redis 中按字典顺序检索键值的高效数据类型?

我正在使用ServiceStack.Redis构建标记系统在c#.我想按字典顺序检索key的values,它应该非常快。values是string类型,平均长度为10个字符。我的印象是redis中的sortedset根据字典顺序存储values但它使用score(时间戳),但我错了。我应该选择哪种数据类型?此外,数据类型应支持Sets中的SINTER之类的交集。 最佳答案 您是对的-SortedSets正是您所需要的。要让SortedSet中的成员按字典顺序排序,只需将所有分数设置为0。然后您可以使用ZRANGEBYLEX以及集合操

redis - 什么是 Redis "out_"前缀键?

我在我的Redis(版本3+)中看到多个out_前缀键。任何人都可以帮助我理解这些键吗?这些是内部的临时key吗?应用程序不会创建这些key。[02.66%]Biggestzsetfoundsofar'out_GVwthhmz'with765025members[09.91%]Biggestzsetfoundsofar'out_JIwnd8Cu'with798580members[69.70%]Biggestzsetfoundsofar'out_UcP6p4YL'with801308members谢谢 最佳答案 Redis没有创建内

Redis 没有杀死空闲连接

当使用clientlist检查连接的客户端时,我有大量的连接,例如:id=237579addr=xxx:42754fd=2558name=age=1485937idle=1485936flags=Ndb=0sub=2psub=0multi=-1qbuf=0qbuf-free=0obl=0oll=0omem=0events=rcmd=subscribe当我执行configgettimeout时,超时值为"86400"它们的年龄和空闲时间都超过了这个超时时间,知道为什么它们还在这里吗? 最佳答案 请注意,该客户端最后发出的命令是subs

node.js - 全选并截断redis数据库

我正在寻找与BLPOP类似的东西,但我想让它们全部循环运行,而不是元素。意思是我要获取redis集合的所有记录,截断。 最佳答案 考虑使用LUA脚本以原子方式执行LRANGE+DEL。或者使用RENAME将列表移动到您将用于处理数据的临时key。RENAMEyourlisttemp-listLRANGEtemp-list0-1...processthelistDELtemp-list 关于node.js-全选并截断redis数据库,我们在StackOverflow上找到一个类似的问题:

node.js - 设计Redis结构需要建议

我们正在开发处理数百万条记录的系统。Redis结构关于Redis结构,我们计划为每个设备、用户等使用哈希,所有可搜索/查询字段将作为集合添加到哈希中,如下所示下面是node.js代码(它的POC代码)varkey="dvc:"+data.id;client.hmset(key,data,function(err,item){client.sadd("tag:"+data.Tag,key,function(err,result1){})client.sadd("serialNo:"+data.SerialNo,key,function(err,result1){})client.sadd

node.js - Redis -nodejs 简单程序 -ERROR

即使是简单的nodejsredis命令,我也会收到错误消息。这是我遇到的错误。/home/veera/Radha/node_modules/redis-client/lib/redis-client.js:394varcallback=originalCommand[originalCommand.length-1];^类型错误:无法读取未定义的属性“长度”在Client.onReply_(/home/veera/Radha/node_modules/redis-client/lib/redis-client.js:394:51)在maybeCallbackWithReply(/hom

ruby-on-rails - 在初始化时配置 Redis 连接

我正在使用Predictorgem,当我尝试启动gem时显示:"redisnotconfigured!-Predictor.redis=Redis.new"(RuntimeError)那么,如何在初始化时配置Redis连接?谢谢 最佳答案 这就是Redis的一般初始化方式。首先,一个好的做法是将其添加到您的config/environments/[environment_name].rb。因此,您可以在更改环境时为Redis维护不同的位置。config.redis_host="localhost"然后在您的应用程序的config/i

python - Redis:如何确保购物案例的并发性和原子性?

假设food_dict是字典,用于在购物车中存储商品,{:}(一车可能包含多种食物)我已经将食物提前存储在了redis中:r.hset('food:',{'price':,'stock':})在订购cart时,我必须确保stock大于count。基本实现:fork,vinfood_dict.iteritems():_stock=int(redis_db.hget('food:'+str(k),'stock'))ifv>_stock:#Ihavetorollbackthedecrementofstockbreakelse:redis_db.hset('food:'+str(k),'sto

python - redis-py ttl 返回无,但 redis 文档引用 -1

为什么python在这里返回None而它应该是-1? 最佳答案 如果key不存在,redis-cliindicatesthisbyreturning-1.对于Python使用,用None表示更自然。你可以看到这是故意这样做的,下面的代码来自redis-py中的Redis类。调用response_callback将TTL响应从-1更改为None。RESPONSE_CALLBACKS=dict_merge(StrictRedis.RESPONSE_CALLBACKS,{'TTL':lambdar:r!=-1androrNone,})