问题标签 [servicestack.redis]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - 使用多线程设置redis时出现未知命令错误
我正在使用ServiceStack.Redis C# 客户端与 Redis 对话。
请求很少,一切正常,但是当我让LoadRunner请求它或使用多线程发出请求时,我收到一些错误,说我使用了错误的命令。
我检查了错误,似乎它切断了命令,或者它搞砸了。
这是我的代码,非常简单。有没有人遇到过这个问题?当我使用多线程调用 Push 方法时会发生错误。
redis - 来自 JSON 的 Redis 中的 Lua
我有一个存储在 Redis 中的 JSON 字符串列表,如下所示:
密钥类似于“Event:23455”。
使用 Lua 脚本和 ServiceStack.Redis 如何提取仅包含值小于 20 的值的匿名对象?
所以我想要返回的内容如下所示:
谢谢。
2013 年 3 月 31 日更新:
在尝试了建议后,我现在遇到了一个新问题。Lua 脚本语法错误。
我收到有关“在 cjson 附近预期 '='”的 Lua 语法错误。这是我提供给 Redis 的 Lua 脚本字符串(在 C# 中):
是否有任何 Lua 或 Redis Lua 专家可以看到可能是什么问题?ie Lua 语法看起来正确吗?
2013 年 4 月 2 日更新
通过像这样在每行的末尾添加 \n 换行符来解决解析错误。
不幸的是,这可以正常工作,但由于某种原因仅返回“{}”或 ServiceStack RedisClient 中的空列表。所以我还没有到那里,但我更近了一步。
redis - 如何使用 ServiceStack.Redis 删除 redis 哈希中的乘法字段?
无法删除多重键。
我在 IRedisNativeClient 接口中找到
没有多功能键的选项
redis - ServiceStack.Redis:无法连接:sPort:50071
我正在使用 ServiceStack Redis 客户端,我希望能够澄清可能导致以下错误的原因......“无法连接:sPort:50071”?我正在使用“PooledRedisClientManager”对象进行连接。感谢您的任何帮助。
redis - GetClient 调用上的 Redis Timeout Expired 消息
我讨厌“信息不足”的问题。所以我会尽量提供详细的信息。在这种情况下,它是代码。
服务器:64位https://github.com/MSOpenTech/redis/tree/2.6/bin/release
分为三类:
DbOperationContext.cs:https ://gist.github.com/glikoz/7119628
PerRequestLifeTimeManager.cs:https ://gist.github.com/glikoz/7119699
RedisRepository.cs https://gist.github.com/glikoz/7119769
我们正在使用 Redis 和 Unity ..
在这种情况下,我们会收到这条奇怪的消息:
“Redis Timeout 已过期。从池中获取连接之前的超时期限已过。这可能是因为所有池连接都在使用中。”;
我们检查了这些:
是问题配置问题
我们是否使用了错误的 RedisServer.exe
有没有架构问题
任何想法?有没有类似的故事?
谢谢。
额外信息 1
服务器统计信息上没有被拒绝的连接问题(我已经通过 redis-cli.exe info 命令检查了它)
.net - F# 处理从数据库返回的空记录
从数据库中检索唯一项目时,我需要满足客户端提供的 ID 没有数据的情况。例如,ID不正确或缓存数据已过期。
我在此示例中使用的特定 DB 客户端库是 ServiceStack.Redis,但我认为该原理适用于任何 CLR 库。
我已经使用如下所示的记录类型定义了我的数据结构。现在,当我使用客户端库检索数据库中不存在的键的数据时,将null
返回一个值。这一点,我期待并且很高兴。问题是 F# 编译器不允许我在这种情况下进行模式匹配——即使它可能在运行时发生!
Redis 客户端库包含一个“ContainsKey”方法,它返回一个布尔值,我可以先使用它,但这里不需要两次调用数据库。另一种方法是使用 C# 项目中定义的类作为数据结构,但这涉及太多开销。该属性也不允许在 上进行匹配null
。
我想知道我应该使用什么约定来处理这种情况,因为这似乎是一个非常常见的问题?
c#-4.0 - Lua脚本优化
我正在尝试通过 c# 使用 using 连接 redis ServiceStack.Redis
。
我已经编写了下面的代码来根据指定的密钥验证数字。
argv[1]
是关键
argv[2]
是数字
逻辑步骤:
- 获取当前值
- 检查当前值是否不应小于或等于 0
- 检查当前值 - 传递的值是否不应小于 O
- 如果当前值 - 通过不小于 0 则将(当前值 - 通过)设置为当前值
- 获取当前值
是否可以优化和调整以下 lua 脚本以提高性能。请帮忙。
redis - ServiceStack.Redis 3.9.71 是否与 Redis 2.8.X 兼容?
3.9.71 是 ServiceStack.Redis 的最新 BSD 版本。但是 Redis 继续使用 BSD 许可证。
redis (2.6.X -> 2.8.X) 有合并所需的更改 https://raw.github.com/antirez/redis/2.8/00-RELEASENOTES
那么问题来了:我们可以在不升级 ServiceStack.Redis 的情况下将 Redis 升级到 2.8.X 吗?(生产环境)
谢谢
servicestack - ServiceStack 消息队列处理和 Profiler
我目前正在试用 ServiceStack 的持久性迷你分析器功能,目前在为我的 Redis 消息队列处理程序注册配置文件信息时遇到问题。
更多背景知识:我有一些常规的 REST api 处理程序,它们接收请求,推迟帐户信息的一些更新并将 OK 回复给调用者。这些消息使用ServiceStack Redis MQ 模式发布到 Redis 服务器。因此,Redis 消息处理注册为:
我的消息也得到了妥善处理。
在自定义 ServiceRunner中,我启用了对所有请求的分析,BeforeEachRequest
并添加了一个自定义 Profiler 步骤,如下所示:
我的所有 HTTP REST 请求都发送到 SQL 表,但没有注册任何 MQ 处理程序调用。而且我 100% 确信处理程序确实正在执行,因为该执行的结果存储在 MongoDB 集合中。
有什么我想念的吗?
- 编辑 -
我忘了提到这个项目确实是通过 ASP.NET 应用程序托管的。AppHost 在 Global.asax 中初始化App_Start
- 我只是发现“请求前”处理自定义服务运行程序而不是 ASP.NETBegin_Request
处理程序更方便。
redis - Redis - 通过多个键查询
我使用 redis 通过登录时生成的 guid 存储用户会话。我将其用作会话对象中的键。
如果我要锁定用户的帐户,我目前必须检查所有会话并检查它们是否是用户的然后删除它们。
有没有办法也可以通过用户 ID 进行查询?我应该使用仅具有标准键值的排序集吗?