poco-libraries - POCO-Liberaries:: Poco Key expiry time not working in set 方法
问题描述
我正在使用使用 set 命令存储键值对的 Poco Redis 数据库。我的要求是在 7 天后自动删除该条目。
我正在使用 poco redis set 命令来实现该功能。
下面是 set 命令的签名:-
Command Command::set(const std::string& key, const std::string& value, bool overwrite, const Poco::Timespan& expireTime, bool create)
我遵循以下程序:-
首先我连接到redis数据库。
成功连接后,我正在创建具有 60 秒值的时间跨度对象,并将键、值和时间跨度值传递给设置方法。
时间跨度 ts(60,0);
命令 setCommand = Command::set(str_metadatakey, str_metadatavalue,true,ts,true); std::string 结果 = m_oRedisClient.execute(setCommand);
但是当我执行上面的代码时,它会抛出异常。
解决方案
面临同样的问题。例外是“ERR 协议错误:预期 '$',得到 ':'” - 因为 redis 预期“过期”是字符串。
作为一种解决方法,您可以将 expire 显式指定为字符串:
Command setCommand = Command::set(key, value);
setCommand << "EX" << "1500"
推荐阅读
- python - DRF:如何找到两个字段组合值最高的模型实例?
- amazon-redshift - REDSHIFT 如果值在列表中
- nest - 在 Nest 7 中将小数映射为两位小数
- flutter - 如何在提供者中实现可重新调用的未来?
- python-3.x - 我在 ubuntu 18.04 中通过 python 3 构建了 opencv。我正在尝试通过相机捕获视频并使用 VideoCapture() 和 imshow 显示它
- javascript - 在 NextJS 中导入 yoastseo
- google-analytics - 如何在启用计费后将启用计费之前提取的 Google Analytics 文件加载到 Big Query?
- python - 导入外部模块的问题
- python - 在 Python 中键入时隐藏输入密码
- javascript - 试图在 JS 中创建一个很棒的图标字体