草庐IT

set_charset

全部标签

node.js - 无法使用 NodeJS 和 Redis 进行 SET/GET

我想为我的Etherpad编写一个ueberDBRedis-Handler。我完全不明白我的问题,因为使用PHP我可以毫无问题地设置和获取键/值。它只不适用于NodeJS。这是一个示例代码:varredis=require("redis");client=redis.createClient();client.on("error",function(err){console.log("Error"+err);});client.set("test","stringval",redis.print);console.log(client.get("test"));我做错了什么?也许有人可

c++ - Redis Set中一个成员占用多少字节

我将Redis用作内存中的哈希集。我在一个Set中插入1M个8字节的key(二进制)后,发现Redis的USED_MEMORY有100M左右,也就是说单个成员占用100个字节?为什么?或者我如何配置Redis以节省它的内存使用量。 最佳答案 首先,对于此类问题,您应该始终详细说明您的设置,因为内存布局取决于操作系统、内存分配器、平台和Redis版本。在装有Redis2.4的64位Linux机器上,一个1M项的8字节键占用87MB。与键的大小相比,这似乎很多,但任何支持高效访问其项的动态数据结构都涉及开销。您的项目越小,开销就越大。使

Redis SET命令不能失败,但是可以吗?

我正在尝试调试我遇到的一些Redis问题,但发现了一些关于SET命令的不确定文档。在我的Redis配置中;我有以下几行(片段):#Note:withallthekindofpolicies,Rediswillreturnanerroronwrite#operations,whentherearenotsuitablekeysforeviction.##Atthedateofwritingthiscommandsare:setsetnxsetexappend关于documentationpagefortheSETcommand我发现:Statuscodereply:alwaysOKsin

ruby-on-rails - ruby 和 Redis : set a timeout for subscribtions

我想在Redischannel中等待消息最多2秒,然后我希望订阅过期/超时并停止阻止我的代码。redis=Redis.newredis.subscribe(channel)do|on|on.messagedo|channel,message|#...endend#Thislineisneverreachedifnomessageissenttochannel:(我正在使用https://github.com/redis/redis-rb.我在源代码中搜索但没有找到订阅超时选项。 最佳答案 您现在可以subscribewithatim

clojure redis set是设置值的字符串的长度而不是值

我正在使用以下代码在redis中设置键(defnsave-to-redis[keyvalue](let[str-value(json/generate-stringvalue)](redis/with-server{:host"127.0.0.1":port6379:db0}(redis/setkeystr-value))))但是当我通过运行redis-cli检查在那里设置的值时,我看到它返回的是str-value的长度而不是str-value我已经将其简化为:(defnsave-to-redis[keyvalue](redis/with-server{:host"127.0.0.1"

string - 当值有空格时 Redis SET 失败

我刚刚启动了Redis并开始使用它。以下工作正常:SETbillybob"hello"+OK但是,以下操作失败了:SETbillybob"heyhowareyou"-ERRsyntaxerror我认为SET适用于任何键/值,并且大概值可以是任何字符串...但不能是带空格的字符串?这是怎么回事? 最佳答案 可能是版本相关。这在这里有效:$redis-cli--versionredis-cli2.8.3$redis-cliSETbillybob"heyhowareyou"OK$redis-cliGETbillybob"heyhoware

ruby /Resque/Redis : How to set up workers on different machines?

我一直在研究分布式后台作业的resque。通过演示应用程序,我设法让所有东西都在一台机器上运行。但我不知道如何设置一切,以便worker们在不同的机器上运行。我读到worker必须连接到redis服务器。但我仍然不知道从哪里开始。某处有分步说明吗?我没有找到任何关于此的文档。或者谁能给我解释一下?顺便说一句,我不使用Rails,我使用的是Sinatra。谢谢 最佳答案 是的,你是对的,如果你所有的工作人员都可以访问redis,你可以将它们连接起来,将它们分发到不同的机器上为此,您需要将worker连接到redis(我假设所有work

Redis 向 Sorted Set 添加多个项目

我正在关注这个Redis教程http://redis.io/topics/twitter-clone他们在页面末尾声明Note:LRANGEisnotveryefficientifthelistofpostsstarttobeverybig,andwewanttoaccesselementswhichareinthemiddleofthelist,sinceRedisListsarebackedbylinkedlists.Ifasystemisdesignedfordeeppaginationofmillionofitems,itisbettertoresorttoSortedSets

Redis "nil"或 "empty list or set"

我目前正在使用“set”结构处理redis。我想知道是否可以自动清除清空“set”?否则找到一个cron/process来定期清理空的“set”更新:更一般的问题,“(nil)”和“(空列表或集合)”之间存在差异(内存使用)例子:saddx1sremxsmembersx(emptylistorset)或saddx1delxsmembersx(nil) 最佳答案 这已经是自动的了。当一个集合为空时,它会从命名空间中删除。>flushallOK>saddx123(integer)3>keys*1)"x">sremx123(integer

redis - 为什么 Redis SET 性能优于 GET?

根据Redisbenchmarks,Redis可以执行100'000SET操作/s,和80'000GET操作/s。Redis是一个内存数据库,这似乎令人惊讶,因为通常人们会期望内存写入比读取慢一些,例如考虑到SET需要在能够写入值之前分配内存。有人能解释一下为什么SET比GET快吗? 最佳答案 实际上这只是默认情况下测量的I/O多于实际命令执行时间的结果。如果您开始在基准测试中启用流水线,它会更多地衡量实际命令性能,并且数字会发生变化:$redis-benchmark-q-n1000000-P32setfoobarsetfoobar