zoukankan      html  css  js  c++  java
  • memcached对中文key的支持问题

    默认的memcached客户端对非ANSI的key存取时会有问题,有2种方式解决:

    1 在get和set前将缓存的key进行UrlEncode

    2 修改memcached.config文件

    <enyim.com> 
      <memcached keyTransformer="Enyim.Caching.Memcached.SHA1KeyTransformer, Enyim.Caching"
        <servers> 
          <add address="127.0.0.1" port="11211" /> 
        </servers> 
        <socketPool minPoolSize="10" maxPoolSize="100" 
            connectionTimeout="00:00:10" deadTimeout="00:02:00" /> 
      </memcached> 
    </enyim.com> 

    增加加粗字体部分,客户端在get,和set钱,如果不指定keyTransformer,会把你的key字符串用Ansi Encode传递给memcached服务器,这时中文处理会有问题,如果指定了keyTransformer,如:SHA1KeyTransformer,就先计算一个sha1唯一值作为key,传递给memcached服务器,这样就可以避免中文Key的问题了。
  • 相关阅读:
    Django REST framework 1
    爬虫基本原理
    QueryDict对象
    Django组件ModelForm
    MongoDB
    Algorithm
    BOM
    CSS
    Vue
    AliPay
  • 原文地址:https://www.cnblogs.com/visionwang/p/3166043.html
Copyright © 2011-2022 走看看