开发搜索功能的时候,需要搜索词分词并且标红。因为搜索词标红是一个费时的操作,所以对于搜素词的分词结果做了五分钟的缓存。并且以搜索词为key,开发完毕。某次搜索之后,发现了异常的log, 文本如下:

java.lang.IllegalArgumentException: Key contains invalid characters:  ``mem_search_segment_pattern_str_思维 曲线 ^&''
        at com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor.intercept(ExceptionMappingInterceptor.java:187)
这才想起来memcache key不能有空格,翻看了memcache /doc/protocal.txt对key的介绍如下
Keys
----

Data stored by memcached is identified with the help of a key. A key
is a text string which should uniquely identify the data for clients
that are interested in storing and retrieving it.  Currently the
length limit of a key is set at 250 characters (of course, normally
clients wouldn't need to use such long keys); the key must not include
control characters or whitespace.

第一感觉使用正则表达式
 String newKey = key.replaceAll("\\p{Cntrl}]|\\p{Space}", "_");
另外长度要控制在250个字符。。

Memcache 键值key的格式和类型相关推荐

  1. php 获取js对象的属性值,js获取对象,数组所有属性键值(key)和对应值(value)的方法示例...

    本文实例讲述了js获取对象,数组所有属性键值(key)和对应值(value)的方法.分享给大家供大家参考,具体如下: var values=function(object) { var values ...

  2. v-for的键值key

    我们现在在使用v-for的时候.都必须会加上一个必要的key值,并且很多人会使用index来作为key,其实这样是不太妥当的一种做法.那么v-for中的键值key到底有什么作用呢.请看: 官方给出的解 ...

  3. java的map键值类型是否固定_Java中Map根据键值(key)或者值(value)进行排序实现

    我们都知道,java中的Map结构是key->value键值对存储的,而且根据Map的特性,同一个Map中 不存在两个Key相同的元素,而value不存在这个限制.换句话说,在同一个Map中Ke ...

  4. 通过Value获取Map中的键值Key的四种方法

    1 简介 我们都知道Map是存放键值对<Key,Value>的容器,知道了Key值,使用方法Map.get(key)能快速获取Value值.然而,有的时候我们需要反过来获取,知道Value ...

  5. JS设置二维数组键值key

    项目场景: 每一列对应是一条数据,并设置对应key值 解决方案: JS方案 let list = [["腾讯", "百度", "阿里巴巴", ...

  6. 【字符串】面试题之键值对(”key = valude”)字符串

    题目: 键值对("key = valude")字符串,在开发中经常使用: 要求1:请自己定义一个接口,实现根据key获取valude:40分 要求2:编写测试用例.30分 要求3: ...

  7. list python 访问 键值对_基础|Python常用知识点汇总(中)

    字符串字符串是 Python 中最常用的数据类型.我们可以使用引号('或")来创建字符串.1.创建字符串 str1 = 'Hello World!' str2 = "Hello W ...

  8. IPC 共享内存和 消息队列(发送、接收、移除)以及键值的生成

    一.消息对列 消息队列,是消息的链接表,存放在内核中.一个消息队列由一个标识符(即队列ID)来标识. 特点: 消息队列是面向记录的,其中的消息具有特定的格式以及特定的优先级.消息队列独立于发送与接收进 ...

  9. Golang——map集合初始化、键值操作、map作为函数参数的使用

    map是一种无序的键值对集合,键是不允许重复的,map是通过hash实现的 map最重要的一点是通过key来快速检索数据,key类似于索引,指向数据的值 引用类型不能作为key map的创建: 格式1 ...

最新文章

  1. R-error: 错误: nul character not allowed (line 1)
  2. DataTable转ListModel通用类
  3. Python 执行Python程序的三种方式
  4. 随便写写的正则表达式
  5. ZJOI2012网络 题解报告【LCT】
  6. 全选文字的快捷键_高效办公必备Excel快捷键之Ctrl+26个字母!掌握它们,告别加班...
  7. NETSH WINSOCK RESET这条命令的含义和作用?
  8. 按钮交互loading ---- 转圈圈 加载
  9. php中静态方法的和属性的使用
  10. 力扣 双周赛补题 2086. 从房屋收集雨水需要的最少水桶数
  11. Linux系统中cgroup功能介绍
  12. 用大白菜制作linux启动盘制作工具,使用大白菜+FbinstTool制作多系统的启动盘
  13. 2口百兆光纤收发器工业导轨式发送机
  14. spring注解开发实例
  15. 成长,进一寸有一寸的欢喜
  16. 《变量》精髓:慢变量造就时代进步大趋势, 在慢变量中找到小趋势,能坚定我们前进的信心
  17. 项目中采用J2EE体系架构分析
  18. ameya30代理品牌尼得科电风扇专用无刷直流马达和扇叶模组
  19. webAP练习五 --- 电子表 短信验证码 定时跳转
  20. 同位语-名词性从句(基础)

热门文章

  1. C语言编程求三位数各位之和,C趣味程序(二)(04)求三位阶乘和数
  2. LAV Filter 下载总帖及安装指引
  3. 抠图把你头发都抠没了?真的爱了这在线免费抠图,带你又快又简单地抠图!
  4. php判断空值_php中的空值判断方法
  5. 面向对象高级编程(上)-- 第一周学习笔记(Boolan)
  6. 30+个 JavaScript 知识点汇总,你都了解了吗?
  7. 青春亦不在,无法在挥霍
  8. 驱动程序编写基本流程
  9. babel安装失败/报错详细解决方案报以下错误: core-js@2.6.12: core-js@<3.23.3 is no longer maintained and not recommended
  10. 用js制作表格的新增,修改和删除等功能