`
berrywu
  • 浏览: 127788 次
  • 性别: Icon_minigender_1
  • 来自: 福建
社区版块
存档分类
最新评论

当 MySQL 和 Memcached 遇到尾部空格时

阅读更多

MySQL 和 Memcached 对于同一个key,不能对应起来。最终原因是:PHP将key写入MySQL数据库之前,没有经过trim()过滤首尾空格(关键是尾部空格),结果:

 1、MySQL的varchar、char类型字段,SELECT .... WHERE 查询时忽略字段的尾部空格。例如varchar类型字段uidcode中,存储的含有尾部空格的内容“rewinx ”,通过以下三种方式均可查询到:



 
在MySQL手册第“11.4.1. CHAR和VARCHAR类型”节中写道(http://dev.mysql.com/doc/refman/5.1/zh/column-types.html#char):请注意所有MySQL校对规则属于PADSPACE类。这说明在MySQL中的所有CHAR和VARCHAR值比较时不需要考虑任何尾部空格。请注意所有MySQL版本均如此,并且它不受SQL服务器模式的影响。

2、PHP 的 Memcache 扩展,则在set、get时,自动将key中的空格,转换成了半角下划线“_”。当然,直接通过 Memcached 协议来读取,key值“rewinx ”就要写成“rewinx_”了。

  示例:testmc.php

<?php   
$memcache_obj = new Memcache;   
$memcache_obj->connect('192.168.8.34', 11211);   
$memcache_obj->set('rewinx ', 'hello world');   
echo $memcache_obj->get('rewinx ')."\r\n";   
?>  

 



 

  • 大小: 4.4 KB
  • 大小: 3.3 KB
分享到:
评论

相关推荐

    JAVA+MYSQL+Memcached

    在IT领域,尤其是在Web开发中,Java、MySQL和Memcached是三个非常重要的技术组件。本文将深入探讨这些技术,以及如何将它们结合使用。 首先,Java是一种广泛使用的面向对象的编程语言,尤其在企业级应用中占据主导...

    《Apache, MySQL, memcached和Perl开发Web应用程序》[PDF]

    书中将探讨Perl的基础语法,以及如何利用Perl与Apache、MySQL和memcached进行交互,创建动态Web应用程序。 此外,书中还可能包含如何构建RESTful API、错误处理和调试技巧、性能测试和优化策略等内容。通过实际案例...

    Apache,.MySQL,.memcached和Perl开发Web应用程序

    中文名: Apache, MySQL, memcached和Perl开发Web应用程序 原名: Developing Web Applications with Apache, MySQL, memcached, and Perl 作者: Patrick Galbraith资源格式: PDF 版本: 文字版 出版社: Wrox书号: ...

    《Apache, MySQL, memcached和Perl开发Web应用程序》 [PDF]

    《Apache, MySQL, memcached和Perl开发Web应用程序》是一本专为Web开发者设计的指南,旨在帮助他们利用这些核心技术构建高效、可扩展的Web应用程序。这本书深入探讨了四大技术的结合使用,为读者提供了一个全面的...

    [Apache.MySQL.memcached.Perl开发高速开源网站

    标题和描述中提到的知识点涉及到了使用Apache、MySQL、memcached和Perl来开发高速的开源网站。这四个技术在Web开发领域中各自扮演着重要的角色,下面将详细解析每个技术的特点及其在构建高性能网站中的应用。 ### ...

    memcached_functions_mysql

    **标签解析:** "memcached_functions_mysql" 这个标签进一步强调了主题,说明这个压缩包包含了与Memcached和MySQL交互的相关函数或脚本。 **压缩包内容:** "memcached_functions_mysql-1.1" 可能是一个特定版本的...

    [Apache.MySQL.memcached.Perl开发高速开源网站].(美)加尔布雷斯.扫描版.part2.rar

    [Apache.MySQL.memcached.Perl开发高速开源网站].(美)加尔布雷斯.扫描版 中文版

    安装tomcat,mysql,memcached,jdk脚本

    安装tomcat,mysql,memcached,jdk脚本 安装tomcat,mysql,memcached,jdk脚本

    Spring4+SpringMVC+mysql+memcached【同时支持mybatis+hibernate两种底层操作框架】

    在构建Web应用程序时,"Spring4+SpringMVC+mysql+memcached【同时支持mybatis+hibernate两种底层操作框架】"是一个常见的技术栈,它涵盖了多个关键组件,为高效、灵活的开发提供了坚实的基础。以下是这个技术组合中...

    mysql wp memcached

    一旦配置完成,WordPress会开始将动态内容缓存在Memcached中,当用户请求数据时,网站将首先查询缓存而不是直接访问数据库,从而减少数据库负载和响应时间。 对于Java开发者来说,理解如何在后端与Memcached交互也...

    nginx+apache+mysql+php+memcached+squid搭建门户网站

    ### Nginx+Apache+MySQL+PHP+Memcached+Squid 搭建门户网站 #### 一、前言与架构概述 随着互联网技术的发展,如何构建一个高效、稳定且能够应对高并发访问的Web服务器成为了许多企业和开发者关注的重点。本文将...

    php mysql redis nginx memcached

    标题和描述中提到的"php mysql redis nginx memcached"是一组常见的Web开发技术组合,用于构建高性能、可扩展的Web应用程序。以下是对这些技术的详细解释: 1. PHP(Hypertext Preprocessor):PHP是一种广泛使用的...

    MySQL与Memcached的强强联合:加速数据库性能

    - **可靠性**:MySQL提供了多种机制来确保数据的完整性和可靠性,包括事务支持、备份和恢复功能。 - **易于使用**:MySQL提供了简单直观的界面和丰富的文档,便于用户学习和使用。 - **可扩展性**:MySQL支持从小型...

    CentOS6.5+mysql+nginx+php+memcached安装指南

    Windows8上安装虚拟机VirtualBox,然后新建虚拟电脑,搭建CentOS6.5 + mysql + nginx + php + memcached平台环境,部署网站。文档中记录了部分FAQ。

    linux下安装JDK,Tomcat,Mysql,和Memcached

    以上步骤详细介绍了如何在Linux环境下安装和配置JDK、Tomcat、MySQL和Memcached。这些步骤可以帮助开发者顺利地搭建起一个基础的Java Web应用程序环境,并且能够有效地管理和缓存数据,提高应用程序的性能和响应速度...

    Apache MySQL memcached Perl开发高速开源网站

    在构建高性能、高可扩展性的开源网站时,Apache、MySQL、memcached以及Perl这四个关键技术起着至关重要的作用。下面将分别对这些技术进行详细解释,并探讨它们如何协同工作以支持高效网站开发。 Apache是世界上最...

Global site tag (gtag.js) - Google Analytics