【飞天奔月出品】memcached四大注意事项(key长度,空格限制,最大item)
1. key值最大长度?
memcached的key的最大长度是250个字符。
注意250是memcached服务器端内部的限制(可以修改)
如果您使用的客户端支持"key的前缀"或类似特性,那么key(前缀+原始key)的最大长度是可以超过250个字符的。
我们推荐使用使用较短的key,因为可以节省内存和带宽。
key只要不重复就行,如果太大浪费内存。
2.key 不能有空格和控制字符
the key must not include control characters or whitespace.
- 对item的过期时间限制?
过期时间最大30天。
如果不注意这个细节,过期时间设置大于了30天,值会设置不进缓存
- 最大能存储多大的单个item?
1MB
如果你的数据大于1MB,可以考虑在客户端压缩或拆分到多个key中。
代码支持:
如果你使用spy
net.spy.memcached.util.StringUtils.validateKey(String)
这个方法 用来验证 key
其中代码:
- public static void validateKey(String key) {
- byte[] keyBytes = KeyUtil.getKeyBytes(key);
- if (keyBytes.length > MemcachedClientIF.MAX_KEY_LENGTH) {
- throw new IllegalArgumentException("Key is too long (maxlen = "
- + MemcachedClientIF.MAX_KEY_LENGTH + ")");
- }
- if (keyBytes.length == 0) {
- throw new IllegalArgumentException(
- "Key must contain at least one character.");
- }
- // Validate the key
- for (byte b : keyBytes) {
- if (b == ' ' || b == '\n' || b == '\r' || b == 0) {
- throw new IllegalArgumentException(
- "Key contains invalid characters: ``" + key + "''");
- }
- }
- }
可以看到,最大长度 250,不允许长度为0的key,
如果其中有空格 \n \r 这样的控制符号 也是不允许的
【飞天奔月出品】memcached四大注意事项(key长度,空格限制,最大item)的更多相关文章
- memcached内存管理及key value长度限制
1)什么是内存碎片?内存是大小有限的资源.例如把内存比作一张小床,来了一个小伙伴,可以睡下,再来一个小伙伴也能睡下.现在两个人了,他们点了差不多的大小的位置(资源),位置还有剩下.然后再来一个小胖子, ...
- GetPrivateProfileString() 当 key 包含空格时,需要进行转义
使用 GetPrivateProfileString() 方法可以方便的读取 ini 格式文件中的内容,如: [section] tommy = worker 使用 C# 读取如下: 1. 先引入 G ...
- GO与PHP的AES交互,key长度问题
今天在使用go与php的AES加解密交互中,一直有个问题那就是在go中加密后,在php端始终都是无法解密,经过排查最后发现是加密key长度引起的问题, 这里简单记录下. go的AES使用的是第三方的库 ...
- Memcached 查看列出所有key方法
Memcached没有一个比较简单的方法可以直接象Redis那样keys *列出所有的Session key,并根据key get对应的session内容,但是还是可以查看的 memcached 查看 ...
- memcached 能接受的 key 的最大长度是多少?
key 的最大长度是 250 个字符.需要注意的是,250 是 memcached 服务器端内 部的限制,如果您使用的客户端支持"key 的前缀"或类似特性,那么 key(前缀 + ...
- memcached 查看所有的key
1. cmd上登录memcache 1 > telnet 127.0.0.1 11211 2. 列出所有keys 1 2 3 4 stats items // 这条是命令 STAT it ...
- 关于Hyper-V备份的四大注意事项
尽管Hyper-V备份相对简单,但备份管理员仍需注意四大问题.这四方面的问题在创建备份时可能不太重要,但在备份恢复时影响甚大. 1.对于虚拟机来说不仅意味着虚拟磁盘 就目前来看,企业在执行Hyper- ...
- 用memcached的时候找key找不到,写了个命令来找找
for i in $(seq 30); do echo "stats cachedump $i 0" | nc 192.168.88.150 11211 | grep groupS ...
- 处理Properties文件中key包含空格的情况
在这个互联网信息共享的时代,好处是一个问题的很多解决方案都可以从网络上得到,不好的一点就是很多人喜欢复制粘贴也不注明转载出处,不尊重别人的劳动成果,不假思索地把别人的原创复制到自己的博客然后发布,请大 ...
随机推荐
- give me something new 无用但有趣
屏保系列 http://www.asty.org/cmatrix/dist/cmatrix-1.2a.tar.gz //数码雨 libaa-bin //燃烧 海洋馆 http://search.cp ...
- JAVA / MySql 编程—— 第四章 高级查询(二)
1. EXISTS和NOT EXISTS子查询:EXISTS关键字用来检测数数据库对象是否存在. ★EXISTS和NOT EXISTS的结果只取决于是否 ...
- webpack最小化lodash
lodash作为一个比较常用的前端开发工具集,在使用webpack进行vendor分离的实践中,会遇到将整个lodash文件分离到vendor.js的问题.这样会使vendor.js文件变得特别大. ...
- 根据html页面模板动态生成html页面(c#类)
本文转载自:http://www.cnblogs.com/yuanbao/archive/2008/01/06/1027985.html点击打开链接 一直以为动态生成静态页面不好做,昨天在网上找了下, ...
- foreachRDD,foreach,foreachPartition区别联系
foreachRDD(SparkStreaming): SparkStreaming是流式实时处理数据,就是将数据流按照定义的时间进行分割(就是"批处理").每一个时间段内处理到的 ...
- python-无参函数
#!/usr/local/bin/python3 # -*- coding:utf-8 -*- ''' #-----------定义函数---------- def func1(): "te ...
- attention发展历史及其相应论文
这个论文讲述了attention机制的发展历史以及在发展过程的变体-注意力机制(Attention Mechanism)在自然语言处理中的应用 上面那个论文提到attention在CNN中应用,有一个 ...
- Aizu:2170-Marked Ancestor
Marked Ancestor Time limit 8000 ms Memory limit 131072 kB Problem Description You are given a tree T ...
- 財務会計管理(FI&CO)
FI(財務会計)系のSAP DBテーブル.随時更新していきます. [勘定コードマスタ]SKA1: 勘定コードマスタ(勘定コード表データ)SKB1: 勘定コードマスタ(会社コードデータ)SKAT: テキ ...
- java变量、数据类型
public class Test { public static void main(String[] args) { //变量 //数据类型 变量名; //基本数据类型: //一个字节8位 //整 ...