草庐IT

redis-test

全部标签

redis - 使用 Redis 检查一个集合中的哪些键存在于另一个排序集合中的最佳方法是什么

假设我有一组在线用户,可能包含20,000个条目。接下来,假设每个用户都有自己关注的一组人。当用户登录时,我想查看他们以下列表中的哪些用户在线。据我所知,有两个选项。MULTIZINTERSTOREtemp2online,followingZRANGEtemp0-1DELtempMULTIEXEC或者,我可以让列表用户跟随列表,然后遍历所有用户,为每个用户触发一个ISMEMBER调用:SMEMBERSfollowingMULTIforeach(followingasfol){ISMEMBERonlinefol}MULTIEXEC这两种方法都不适合我。有没有更好的办法?如果不是,如果我们

nosql - redis所需的最小连接数

我看到redis能够处理数十万个连接。但为什么需要这么多?连接应该由服务器建立,只有1个服务器-redis连接应该足以满足尽可能多的session。我的逻辑有问题吗? 最佳答案 你是对的-来自服务器的一个连接应该足够了,但是在“服务器”下你必须想象HTTP服务器的单个实例正在运行。在单台机器上可以运行很多服务器实例。然后将此服务器数量乘以使用同一Redis服务器的单个机器的数量,您很容易就会获得大量连接。 关于nosql-redis所需的最小连接数,我们在StackOverflow上找到

node.js - 在 node.js 中监听 channel redis

有这么简单的代码窃听萝卜channel。redisClient=redis.createClient();redisDummyPublishClient=redis.createClient();//redisClient.auth("25c9721b4e579fc5af961f944e23f46f");//lookforconnectionerrorsandlogredisClient.on("error",function(err){console.log("errorevent-"+redisClient.host+":"+redisClient.port+"-"+err);})

session - express:session store,查询session key redis

app.use(express.session({store:newRedisStore({host:'localhost',port:6379,db:0,pass:'RedisPASS'}),secret:'1234567890QWERTY'}));上面在redis中创建了一个sessionstore。但是session数据的条目是在一些随secret钥中,例如:sess:0t-8-qJG5s0e3w4oGhBjxgAH。获取sessionkey的最佳方法是什么? 最佳答案 这应该可以解决问题:varkey=req.session

java - 使用 Redis 和 DBMS 设计系统的最佳架构

我有一个Web实例,它提供大量数据和高流量。我想使用Redis缓存所有数据。我还想不断更新我的数据库。在“选择”请求期间,请求将被发送到一个Redis。如果请求是“更新”或“删除”,它将同时发送redis和db。我决定放置一个“请求处理程序”层(例如Web服务、Web实例、具有套接字结构的独立应用程序等)来处理所有类型的请求并将它们发送到适当的应用程序(redis或DBMS)。但是,如果我放那层,我想,我不能很好地利用Redis的强大功能。例如,如果我的请求处理层宕机,Redis的平衡系统和数据保持(最小丢失)技能就变得毫无意义。另一方面,Redis提供处理如此多的并发请求,那我的“请

ruby-on-rails-4 - 如何将 Sidekiq 与 redis 放在与应用程序服务器不同的服务器上?

为了拥有一个松散耦合的架构,我可以拥有一个具有Redis和Sidekiq的服务器,以及另一个我可以创建多个实例的独立工作服务器吗?我现在拥有的是:服务器A:RedisSidekiqRails转换图片服务器B:Rails通过controller调用ServerA的Sidekiq的perform_async(image)我想做的是:服务器A:RedisSidekiq服务器B(可扩展):Rails转换图片-SidekiqWorkers-服务器C:Rails调用服务器A将作业推送到队列,以便服务器B可以通过从服务器A的队列中拉取来转换它们。 最佳答案

redis - 在 ServiceStack.Redis 的情况下,RedisPoolSize、RedisPoolTimeoutSeconds 的默认值是什么

对于ServiceStack.Redis,redisPoolSize、RedisPoolTimeoutSeconds和默认端口的默认值是什么。 最佳答案 我假设您对连接池感兴趣,而不是缓冲池;其中有两个池,一个读池和一个写池。它们是根据每种类型的主机数乘以PoolSizeMultiplier(默认为10)而创建的。默认的Redis写入池大小是读/写Redis主机的数量*默认的PoolSizeMultiplier=10。Seeline#131默认的Redis读取池大小是只读Redis主机的数量*默认的PoolSizeMultiplie

javascript - 在客户端从 Redis 获取新值

我正在使用PHP和PHPRedis连接到Redis。这很好用$redis=newRedis();$redis->connect('localhost',6379);$total=$redis->get('total');假设$total现在为1。然后我使用Redis客户端递增键“total”,使其值为2。但现在我希望用户在单击按钮时能够看到新值window.onload=function(){$('#newTotal').click(function(event){connect('localhost',6379);$total=$redis->get('total');?>$("#u

redis - 如果 Redis 键永远不会以编程方式删除怎么办?

如果没有设置过期时间并且没有使用DEL命令,我的redis数据会发生什么。它会在一些默认时间后被删除吗?还有一个,redis如何存储数据,它是任何文件格式吗?因为即使重新启动计算机后我也可以访问数据。那么redis创建了哪些文件,在哪里创建?谢谢。 最佳答案 Redis是一种内存数据存储,这意味着您的所有数据都保存在RAM中(即volatile数据)。因此从理论上讲,只要您不关闭电源,您的数据就会一直存在。但是,它也提供两种模式的持久化:RDB模式,它拍摄数据集的快照并将它们保存到磁盘中名为dump.drb的文件中。这是默认模式。A

mongodb - 查询 : redis or mongodb?

我想建立一个通知系统。它们看起来像这样:{user_id:1,type:'comment',content:[msg:'bluhbluh',date:'2014-01-01']}{user_id:1,type:'message',content:[msg:'blahblah',date:'2014-01-01']}我需要查询user_id和类型。我知道使用mongoDB很容易做到。根据我在Internet上的发现,使用Redis并不容易,因为它仅适用于键/值。你知道有没有办法用Redis实现这个,它是否比mongoDB有更好的性能。谢谢 最佳答案