Dug*_*gan 11 .net c# memcached enyim
我怎样才能确定为什么Enyim从以下电话中返回false:
cache.Store(Enyim.Caching.Memcached.StoreMode.Set, key, value);
Run Code Online (Sandbox Code Playgroud)
其他项目存储得很好,因此连接到服务器似乎不是问题.该对象似乎不大于1 MB.
那么如何确定导致错误的原因呢?
一种可能性是您的密钥可能包含非法字符。通常,非常低端的 ASCII 字符可能会导致这种情况——我相信 0x30 及以上字符肯定是安全的,而且可能 0x20 及更高字符也可能是安全的。参考ASCII 字符表,您可以看到 0x00 到 0x1F 大部分都是特殊字符。0x20 到 0x2F 是“正常”字符,但在一些参考材料中我看到提到它们也可以用作控制字符。
这个问题给我带来了一些问题;我通过构建一个高度唯一的密钥来解决这个问题,很少考虑长度,然后生成密钥的 MD5 校验和。MD5 和保证了密钥冲突的风险最小、字符安全以及比实际密钥更短的长度。
| 归档时间: |
|
| 查看次数: |
4838 次 |
| 最近记录: |