草庐IT

Redis_Proxy

全部标签

redis - 我应该如何使用 Redis 为用户存储多个 session ?

假设一个用户可以有多个session(JWTtoken)。最好存储一个hashet的token,其中key是userId吗?例如key:1->hashet:"token1","token2","token3","token4","moretokens..."然后要检查token是否有效,我会获取哈希集,遍历它并尝试匹配token?使用散列意味着我可以向用户显示当前session。 最佳答案 您可以使用SET存储token:以用户ID为键,将token列表存储到SET中(作为值),其中包含唯一元素。//insertsingletoke

caching - Redis会丢失数据吗?

我对Redis没有很深的了解,所以我需要帮助!据我所知,Redis将数据存储在内存中,有时会转储到硬盘。这是否意味着如果Redis进程由于某种原因崩溃,我将丢失所有数据?如果是,如何保存数据直到进程恢复?谢谢! 最佳答案 http://redis.io/topics/persistenceRedis带有AOF(仅附加文件)和RDB(快照)持久化选项,它还具有可配置的参数以将数据丢失保持在最低限度。如果配置每1秒快照一次或每个事件一次一次写入AOF文件,则可能会影响性能。 关于cachin

php - 尝试在 laravel 上发布到 redis 时调用 null 上的成员函数 publish()

我正在尝试将内容发布到redis,但出现此错误:Calltoamemberfunctionpublish()onnull.不确定发生了什么。这是我的代码。在本地环境中运行良好,但在服务器上显示上述错误消息。我在Controller中有以下代码。该网站托管在windowsazureappservice上。我还安装了predis/predis依赖项。$redis=Redis::connection(6380)->publish('test-channel',json_encode(['foo'=>'bar']));我是不是没有连接到redis之类的东西? 最佳答

redis - 如何实现 Redis 备份服务器的冗余和故障转移策略

我有一个用于送餐的网络/移动应用程序。问题是,我的服务器对数据库的写入比读取多得多。现在我正在运行PostgreSQL,问题是很多服务器请求在短时间内(大约中午和晚上)发生,所以我需要各种实例(加上S3进行备份)才能实现写入吞吐量,我认为这还不算好,因为事情正在扩展,这些PG实例看起来就像兔子在繁殖。我的约束:写入多于读取大约25.000个请求/秒的写入并且还在增长我需要在系统注册(写入数据库)后未处理(餐厅检查的消费者订单)数据的强一致性保证最好不要让服务运行而不是有故障(牺牲可用性以支持一致性)用我的生产服务器做一些基准测试,Redis能够仅用一台服务器处理1.5倍的当前峰值,并且

redis如何自动生成下一个键号

我现在正在使用“redis小书”速成redis。我不清楚的是如何自动生成键值。例如,这本书使用了这个set语句:setusers:9001'{"id":9001,"email":"leto@dune.gov"}'我如何设置才能让系统跟踪下一个可用的ID?在这种情况下……9002?我知道有一个INCR函数...但我不知道如何将这两个函数合并在一起。例如,假设我使用redis-cli执行此操作:setmykey1setusers:mykey'{"id":mykey,"email":"leto@dune.gov"}'这在命令行上有效,但我需要一种以编程方式执行此操作的方法。我想我会:getm

node.js - 无法重新启动 redis-server.service : Unit redis-server. 找不到服务

尝试启动redis-server但得到:26195:C27Aug17:05:11.684#Warning:noconfigfilespecified,usingthedefaultconfig.Inordertospecifyaconfigfileuseredis-server/path/to/redis.conf26195:M27Aug17:05:11.684*Increasedmaximumnumberofopenfilesto10032(itwasoriginallysetto1024).26195:M27Aug17:05:11.685#CreatingServerTCPlist

javascript - 没有外部模块如何与redis通信?

我想知道如何Noderediswrapper与RESP(REdis序列化协议(protocol))数据库通信。一个例子constredis=function(uri){this.client=''//howconnectwithredisuriredis://localhost:6379}redis.prototype.set=(key,value,callback)=>{//howcomunicatewithredisandsetsomevalue?} 最佳答案 所以RESP是一个基于TCP连接的明文协议(protocol)。No

node.js - 如何在 Node.js 中从 Redis 客户端使用 SINTERSTORE 和 ZINTERSTORE?

我正在使用node_redis库https://github.com/NodeRedis/node_redis关于如何使用SINTERSTORE/SUNIONSTORE和ZINTERSTORE/ZUNIONSTORE的例子很少,也没有关于如何在客户端传递这些函数的参数的例子。 最佳答案 我尝试并找到了正确的方法varredis=require('redis');varclient=redis.createClient();client.on('connect',function(){console.log('connected');

asp.net - 这是 StackExchange Redis 流水线的良好实现吗?

我从REDIS和StackExchangeRedis客户端开始。我想知道我是否获得了从REDIS一次获取多个项目的最佳性能。情况:我有一个ASP.NETMVCweb应用程序,它在用户的仪表板上显示个人日历。因为仪表板是它被大量使用的着陆页。为了显示日历项,我首先获取该特定月份的所有日历项ID:RedisManager.RedisDb.StringGet("calendaritems_2016_8");//thisreturnsJSONSerializedList然后,对于每个日历项ID,我构建一个对应缓存键的列表:"CalendarItemCache_1""CalendarItemCa

redis - 我能保证对 Redis 的请求会按顺序执行吗?

全部。我向Redis写入一个数据项。后来,我从Redis中读取了数据项。由于可能有多个服务器接受这些Redis请求并满足它们,如果我在发出读取请求之前1毫秒发出写入请求(假设它们都由同一进程完成),我是否确信读取不会先处理请求,然后我得到类似“该数据项不存在”的响应? 最佳答案 假设命令按顺序发出,您可以假设它们将是原子和单线程操作。在thisstackoverflowanswer中阅读更多相关信息.以上对于单个Redis服务器是正确的,并且不能保证集群行为(感谢@mwp)。在那种情况下,我建议在客户端级别添加检查。如果Redis进