技术头条 - 一个快速在微博传播文章的方式     搜索本站
您现在的位置首页 --> PHP --> memcache-2.2.4 中对key的转换

memcache-2.2.4 中对key的转换

浏览:2541次  出处信息
一次在使用PHP的memcache-2.2.4模块访问mc时,不小心把含有tab的字符串做了key,在跟踪时发现我的key中出现tab的地方都成了“_”了,于是怀疑memcache-2.2.4对我的key做了处理了,于是看了memcache-2.2.4的源码,才发现如下函数,该函数里面将assii码小于空格的字符都要转换成“_”的。

    int mmc_prepare_key_ex(const char *key, unsigned int key_len, char *result, unsigned int *result_len

    TSRMLS_DC)  /* {{{ */

    {

     unsigned int i;

     if (key_len == 0) {

     php_error_docref(NULL TSRMLS_CC, E_WARNING, "Key cannot be empty");

     return MMC_REQUEST_FAILURE;

     }

     *result_len = key_len < MMC_KEY_MAX_SIZE ? key_len : MMC_KEY_MAX_SIZE;

     result[*result_len] = \'\0\';

    

     for (i=0; i<*result_len; i++) {

     result[i] = ((unsigned char)key[i]) > \' \' ? key[i] : \'_\';

     }

    

     return MMC_OK;

    }

建议继续学习:

  1. 关于memcache分布式一致性hash    (阅读:10635)
  2. Memcache分布式部署方案    (阅读:5301)
  3. 关于session和memcache的若干问题    (阅读:4247)
  4. Memcache源代码分析之数据存储    (阅读:3791)
  5. Memcache mutex设计模式    (阅读:3697)
  6. 关于Memcache长连接自动重连的问题    (阅读:3648)
  7. Memcache协议的学习    (阅读:3578)
  8. Memcache源代码分析之网络处理    (阅读:3493)
  9. memcache的几点注意    (阅读:3433)
  10. 解决memcache连接奇慢问题一例    (阅读:3422)
QQ技术交流群:445447336,欢迎加入!
扫一扫订阅我的微信号:IT技术博客大学习
© 2009 - 2024 by blogread.cn 微博:@IT技术博客大学习

京ICP备15002552号-1