jjzjj

StackExchange

全部标签

redis - StackExchange.Redis 连接到多个数据库

我正在使用stackexchangeredis客户端,我想连接到多个数据库,而不仅仅是一个我该如何处理? 最佳答案 https://github.com/StackExchange/StackExchange.Redis/blob/master/Docs/Basics.md您必须在getDatabase()方法中传递数据库编号ConnectionMultiplexerredis=ConnectionMultiplexer.connect("localhost");IDatabasedb=redis.GetDatabase(datab

c# - StackExchange Redis C# 如何运行 LUA 脚本 - 需要更好的真实示例

我有一个中等复杂度的LUA脚本,我已经通过redis-cli对其进行了测试。使用:EVALSHAsha1numkeyskey1..keynarg1..arg2我的脚本有2个参数,没有键。我将.NET端的脚本从文本文件加载到stringluaString中,然后使用LuaScriptlua=LuaScript.Prepare(luaString)创建LuaScript对象。到目前为止还好吗?现在我创建:objectluaParams=new{'1923920','{"type":"message","property1":"thisisanexample"}'};RedisResultr

redis - StackExchange.Redis - MISCONF Redis 随机无法保存到 RDB 快照

我已经在我的应用程序中实现了StackExchange.Redis,总体来说它运行良好。然而,我们随机得到以下错误。StackExchange.Redis.RedisServerException:MISCONFRedisisconfiguredtosaveRDBsnapshots,butiscurrentlynotabletopersistondisk.Commandsthatmaymodifythedatasetaredisabled.PleasecheckRedislogsfordetailsabouttheerror.我运行了CONFIGSETdir和CONFIGSETdbfi

c# - 无法使用 Stackexchange Redis 从 .Net 调用带有模式的 HSCAN

我正在尝试在Redis中运行HSCAN命令以仅匹配通过C#需要的哈希字段代码是这样的varoptions=newConfigurationOptions{EndPoints={"endpoint"},Proxy=Proxy.Twemproxy};twemproxy_new=ConnectionMultiplexer.Connect(options);db=twemproxy_new.GetDatabase();DictionaryinputDict=newDictionary();//populateinputDictwith"n"fields&valuesvarcachekey="m

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

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

c# - stackexchange redis缓存性能

我必须使用stackexhange.redisC#在redis缓存中频繁添加N个(独立)项目,每个项目具有不同的过期时间,以便客户端的时间最短,服务器端的阻塞和成本最小。Redis服务器每秒将收到数百个获取请求,因此我根本不想打乱获取时间。我已阅读文档here并回答here.我找不到执行此操作的单一方法。考虑不同的选择:使用事务——这将阻止服务器端的任何操作。所以这不应该是正确的解决方案使用批处理——这将阻止客户端的任何操作,直到所有批处理操作完成。这不应该是正确的解决方案。使用流水线-这不会阻止客户端和服务器端的任何操作。但它可以发送多个请求(小于N的数据包)可能会消耗更多网络,但可

redis - StackExchange.Redis SetAdd 行为

我目前正在使用StackExchange.Redis。我只是想知道SetAdd的行为。我有一个RedisValue数组,在Debug模式下,我可以看到数组的预期顺序,但是当SetAdd触发时,存储的数组似乎已被打乱。要存储数组的正确顺序,正确的命令是什么?提前致谢。 最佳答案 集合不是数组。阅读有关数据类型的Redis文档here.RedisSet是一个无序的字符串集合,不允许重复。所以如果你需要维护一个顺序或者一个索引,你应该使用不同的数据类型,比如List或SortedSet 关于r

redis - StackExchange.Redis - 等待锁的最佳方式

我有以下方法等待Redis键的独占锁。此方法有效,但我想知道是否有没有for循环和Thread.Sleep的更好方法。//////waitupto2secondstoachievealock!///Thelockisgoodforamaximumof3seconds//////internalvoidWaitForSingleUseLock(CodeIDcodeID){varkey=_redemptionRepo.SingleUseCodeLockPrefix+codeID.Value;varexpiration=TimeSpan.FromSeconds(3);for(vari=0;i

redis - StackExchange.Redis - 等待锁的最佳方式

我有以下方法等待Redis键的独占锁。此方法有效,但我想知道是否有没有for循环和Thread.Sleep的更好方法。//////waitupto2secondstoachievealock!///Thelockisgoodforamaximumof3seconds//////internalvoidWaitForSingleUseLock(CodeIDcodeID){varkey=_redemptionRepo.SingleUseCodeLockPrefix+codeID.Value;varexpiration=TimeSpan.FromSeconds(3);for(vari=0;i

c# - 使用 C# 扫描 Redis 缓存中的缓存键

我在我的项目中使用了Redis缓存。现在有一种情况是缓存是动态生成的像"KeyPrefix"+ii是一个动态值现在我想删除所有前缀为“KeyPrefix”的键如何在我的代码中删除匹配的键。但是我需要删除所有包含一些前缀的键。IDatabasecache=RedisDistributedCacheManager.GetDatabase();cache.KeyDelete(cacheKey);谢谢达尔维尔 最佳答案 Redis键扫描针对的是服务器,而不是单个数据库。因此,您可以获取服务器变量,然后使用Keys方法获取所有需要的key:v