参考文档:

  1. memcache官网:https://memcached.org/
  2. 参考:http://www.runoob.com/memcached/memcached-install.html
  3. 参考:http://xslwahaha.blog.51cto.com/4738972/1627129

本文简单介绍memcached服务器端的安装配置,与php-memcache客户端连接服务器端的配置与操作。

一.简介

1. 简介

Memcached是一款开源、高性能、分布式内存对象缓存系统,可应用各种需要缓存的场景,其主要目的是通过降低对Database的访问来加速web应用程序。

Memcached一般的使用场景是:通过缓存数据库查询的结果,减少数据库访问次数,以提高动态Web应用的速度、提高可扩展性。

本质上,memcached是一个基于内存的key-value存储,用于存储数据库调用、API调用或页面引用结果的直接数据,如字符串、对象等小块任意数据。

工作流程如下:

2. 注意点

  1. 简单key-value存储:服务器不关心数据本身的意义及结构,只要是可序列化数据即可;存储项由"键、过期时间、可选的标志及数据"四个部分组成。
  2. 功能实现一半依赖于客户端,一半基于服务器端:客户端负责发送存储项至服务器端、从服务端获取数据以及无法连接至服务器时采用相应的动作;服务端负责接收、存储数据,并负责数据项的超时过期。
  3. Memcached虽然是"分布式"缓存服务器,但服务器端并没有分布式功能,即不在服务器间进行数据同步及共享信息,"分布式"完全取决于客户端的实现。
  4. 清理超期数据:默认情况下,Memcached是一个LRU缓存,同时按事先预订的时长清理超期数据;但事实上,memcached不会删除任何已缓存数据,只是在其过期之后不再为客户所见;而且,memcached也不会真正按期限清理缓存,而仅是当get命令到达时检查其时长。 

二.环境

1. OS

Server:CentOS-7-x86_64-1511

IP:10.11.4.190

2. Memcached版本

1)libevent

libevent-2.1.8

官网:http://libevent.org/

下载:http://ftp.lfs-matrix.net/pub/blfs/conglomeration/libevent/

2)memcached

memcached-1.4.39

官网:https://memcached.org/

下载:https://memcached.org/files/memcached-1.4.39.tar.gz

三.安装Memcached服务器

Memcached服务器端的安装相对简单。

1. 安装libevent

  1. #Memcached依赖于libevent API,libevent是个程序库,它将Linux的epoll、BSD类操作系统的kqueue等事件处理功能封装成统一的接口,即使对服务器的连接数增加,也能发挥O(1)的性能
  2. [root@memcached ~]# cd /usr/local/src/
  3. [root@memcached src]# wget http://ftp.lfs-matrix.net/pub/blfs/conglomeration/libevent/libevent-2.1.8-stable.tar.gz
  4. [root@memcached src]# tar -zxvf libevent-2.1.8-stable.tar.gz
  5. [root@memcached src]# cd libevent-2.1.8-stable
  6. [root@memcached libevent-2.1.8-stable]# ./configure --prefix=/usr/local/libevent
  7. [root@memcached libevent-2.1.8-stable]# make
  8. [root@memcached libevent-2.1.8-stable]# make install
  9.  
  10. #测试是否安装成功
  11. [root@memcached libevent-2.1.8-stable]# ll /usr/local/libevent/lib/ | grep libevent

2. 安装memcached

  1. [root@memcached ~]# cd /usr/local/src/
  2. [root@memcached src]# tar -zxvf memcached-1.4.39.tar.gz.tar
  3. [root@memcached src]# cd memcached-1.4.39
  4. #注意编译前,生成Makefile文件时,libevent的路径
  5. [root@memcached memcached-1.4.39]# ./configure --prefix=/usr/local/memcached -with-libevent=/usr/local/libevent
  6. [root@memcached memcached-1.4.39]# make
  7. [root@memcached memcached-1.4.39]# make install 

3. 设置环境变量

  1. #简单通过软链接的方式设置环境变量
  2. [root@memcached ~]# ln -s /usr/local/memcached/bin/* /usr/local/bin/ 

4. 设置iptables

  1. #tcp11211端口是memcached默认监听端口
  2. [root@memcached ~]# vim /etc/sysconfig/iptables
  3. -A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT
  4. -A INPUT -p tcp -m state --state NEW -m tcp --dport 11211 -j ACCEPT
  5.  
  6. [root@memcached ~]# service iptables restart 

5. 启动

  1. [root@memcached ~]# /usr/local/memcached/bin/memcached -d -m 256 -u root -l 10.11.4.190 -p 11211 -c 1024 -P /usr/local/memcached/memcached.pid
  2.  
  3. 参数说明:
  4. -d:启动一个守护进程,如果前台运行,配合-vv参数,可查看调试信息(主要是存储的信息);
  5. -m:分配给memcached使用的内存数量,单位是MB
  6. -u:运行memcached的用户,比如root或者memcached,建议采用非root账号;
  7. -l:服务器监听地址,不设置时默认监听本地所有IP地址;
  8. -p:设置memcached的监听端口,默认为11211
  9. -c:设置最大并发连接数,默认是1024
  10. -P:设置保存memcachedpid文件;
  11. -v:输出警告和错误信息;
  12. -vv:打印客户端的请求和返回信息;
  13. -h:打印帮助信息;
  14. -i:打印memcachedlibevent的版权信息。

6. 验证

1)端口

  1. [root@memcached ~]# netstat -tunlp

2)telnet连接

  1. #可以通过telnet连接memcached服务器进行数据存储,及数据获取;
  2. #详细的memcached的命令可参考:http://blog.mimvp.com/2015/01/memcache-start-telnet-command-xiangjie/;
  3. #以下红色字体是命令输入,截图可见命令输入与回显
  4. [root@memcached ~]# telnet 10.11.4.190 11211
  5. version #查看版本
  6. set test 0 0 5 #设置”key”, <command name> <key> <flags> <exptime> <bytes>
  7. mymem #输入“value”值,<data block>,字节数与key中的设的“bytes”相同
  8. get test #获取已设的key的数据
  9. quit #退出

7. 设置开机启动

  1. [root@memcached ~]# vim /etc/rc.d/init.d/memcached
  2.  
  3. #!/bin/sh
  4. #
  5. # memcached: MemCached Daemon
  6. #
  7. # chkconfig: - 90 25
  8. # description: MemCached Daemon
  9. #
  10. # Source function library.
  11.  
  12. . /etc/rc.d/init.d/functions
  13. . /etc/sysconfig/network
  14.  
  15. #注意:可执行文件路径根据情况调整
  16. MEMCACHED="/usr/local/memcached/bin/memcached"
  17.  
  18. start()
  19. {
  20. echo -n $"Starting memcached: "
  21. #注意:参数根据情况调整
  22. daemon $MEMCACHED -u root -d -m 256 -p 11211 -c 1024 -P /usr/local/memcached/memcached.pid
  23. echo
  24. }
  25.  
  26. stop()
  27. {
  28. echo -n $"Shutting down memcached: "
  29. killproc memcached
  30. echo
  31. }
  32.  
  33. [ -f $MEMCACHED ] || exit 0
  34.  
  35. # See how we were called.
  36. case "$1" in
  37. start)
  38. start
  39. ;;
  40.  
  41. stop)
  42. stop
  43. ;;
  44.  
  45. restart|reload)
  46. stop
  47. start
  48. ;;
  49.  
  50. condrestart)
  51. stop
  52. start
  53. ;;
  54.  
  55. *)
  56.  
  57. echo $"Usage: $0 {start|stop|restart|reload|condrestart}"
  58. exit 1
  59. esac
  60. exit 0
  61.  
  62. [root@memcached ~]# chmod 775 /etc/rc.d/init.d/memcached
  63. [root@memcached ~]# chkconfig --level 35 memcached on

四.安装配置基于PHP的客户端

Memcache支持多客户端,如perl,php,python,c/c++等等,这里主要基于php配置。

其中nginx与php的详细配置请见:http://www.cnblogs.com/netonline/p/7327409.html

1. 安装配置nginx

  1. #nginx版本:1.12.0
  2.  
  3. #创建用户
  4. [root@memcached ~]# groupadd www
  5. [root@memcached ~]# useradd -g www -s /sbin/nologin www
  6.  
  7. #安装依赖包
  8. [root@memcached ~]# yum install pcre pcre-devel openssl openssl-devel zlib zlib-devel -y
  9.  
  10. #编译安装
  11. [root@memcached ~]# cd /usr/local/src/
  12. [root@memcached src]# wget http://nginx.org/download/nginx-1.12.0.tar.gz
  13. [root@memcached src]# tar -zxvf nginx-1.12.0.tar.gz
  14. [root@memcached src]# cd nginx-1.12.0
  15. [root@memcached nginx-1.12.0]# ./configure --prefix=/usr/local/nginx --without-http_memcached_module --user=www --group=www --with-http_stub_status_module --with-http_ssl_module --with-http_gzip_static_module
  16. [root@memcached nginx-1.12.0]# make
  17. [root@memcached nginx-1.12.0]# make install
  18.  
  19. #修改用户/组
  20. [root@memcached nginx-1.12.0]# chown -R www:www /usr/local/nginx
  21.  
  22. #设置开机启动
  23. [root@memcached ~]# vim /etc/rc.d/init.d/nginx
  24. [root@memcached ~]# chown www:www /etc/rc.d/init.d/nginx
  25. [root@memcached ~]# chmod 775 /etc/rc.d/init.d/nginx
  26. [root@memcached ~]# chkconfig --level 35 nginx on
  27.  
  28. #启动
  29. [root@memcached ~]# service nginx start

2. 安装配置php

  1. #php版本:5.6.31
  2.  
  3. #安装依赖包
  4. [root@memcached ~]# yum install -y gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libpng libpng-devel libxml2 libxml2-devel zlib zlib-devel xml2 xml2-devel openssl openssl-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl libcurl-devel gdbm-devel db4-devel libXpm libXpm-devel libX11 libX11-devel gd-devel gmp-devel readline-devel libxslt-devel expat-devel xmlrpc-c xmlrpc-c-devel
  5.  
  6. #编译安装libmcrypt库,
  7. [root@memcached ~]# cd /usr/local/src/
  8. [root@memcached src]# wget http://nchc.dl.sourceforge.net/project/mcrypt/Libmcrypt/2.5.8/libmcrypt-2.5.8.tar.gz
  9. [root@memcached src]# tar -zxvf libmcrypt-2.5.8.tar.gz
  10. [root@memcached src]# cd libmcrypt-2.5.8
  11. [root@memcached libmcrypt-2.5.8]# ./configure
  12. [root@memcached libmcrypt-2.5.8]# make
  13. [root@memcached libmcrypt-2.5.8]# make install
  14.  
  15. #编译安装php
  16. [root@memcached ~]# cd /usr/local/src/
  17. [root@memcached src]# wget http://php.net/distributions/php-5.6.31.tar.bz2
  18. [root@memcached src]# tar -jxvf php-5.6.31.tar.bz2
  19. [root@memcached src]# cd php-5.6.31
  20. [root@memcached php-5.6.31]# ./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --with-mysql --with-pdo-mysql --with-mysqli --with-openssl --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib-dir --with-mhash --with-mcrypt --with-bz2 --enable-zip --with-curl --with-gettext --with-iconv --with-xmlrpc --enable-fpm --enable-sockets --enable-sysvshm --enable-mbstring --enable-pdo --enable-libxml --enable-xml --enable-soap --enable-session --enable-ctype --enable-ftp --enable-bcmath --enable-shmop --enable-inline-optimization --enable-opcache --enable-mbregex --enable-pcntl --enable-cgi --enable-wddx
  21. [root@memcached php-5.6.31]# make
  22. [root@memcached php-5.6.31]# make install
  23.  
  24. #php.ini文件
  25. [root@memcached ~]# cp /usr/local/src/php-5.6.31/php.ini-production /usr/local/php/etc/php.ini
  26. [root@memcached ~]# ln -s /usr/local/php/etc/php.ini /etc/php.ini
  27.  
  28. #php-fpm.conf文件,取消”;pid = run/php-fpm.pid”的注释,同时修改运行账号通nginx服务的运行账号一致
  29. [root@memcached ~]# cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
  30. [root@memcached ~]# ln -s /usr/local/php/etc/php-fpm.conf /etc/php-fpm.conf
  31. [root@memcached ~]# sed -i 's|;pid = run/php-fpm.pid|pid = run/php-fpm.pid|g' /usr/local/php/etc/php-fpm.conf
  32. [root@memcached etc]# sed -i 's|user = nobody|user = www|g' /usr/local/php/etc/php-fpm.conf
  33. [root@memcached etc]# sed -i 's|group = nobody|group = www|g' /usr/local/php/etc/php-fpm.conf
  34.  
  35. #设置开机启动
  36. [root@memcached ~]# cp /usr/local/src/php-5.6.31/sapi/fpm/init.d.php-fpm /etc/rc.d/init.d/php-fpm
  37. [root@memcached ~]# chown www:www /etc/rc.d/init.d/php-fpm
  38. [root@memcached ~]# chmod 755 /etc/rc.d/init.d/php-fpm
  39. [root@memcached ~]# chkconfig --level 35 php-fpm on
  40.  
  41. #设置nginx支持php
  42. [root@memcached ~]# vim /usr/local/nginx/conf/nginx.conf
  43. #第2行,取消user的注释,修改运行账号为www www,与/usr/local/php/etc/php-fpm.d/www.conf中的user/group配置一致
  44. user www www;
  45. #第45行,添加index.php
  46. index index.html index.htm index.php;
  47. #第65~71行,取消FastCGI server部分location的注释;注意fastcgi_param行的参数,改为$document_root$fastcgi_script_name,或者使用绝对路径
  48. #pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
  49. #
  50. location ~ \.php$ {
  51. root html;
  52. fastcgi_pass 127.0.0.1:9000;
  53. fastcgi_index index.php;
  54. fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
  55. include fastcgi_params;
  56. }
  57.  
  58. #验证测试
  59. [root@memcached ~]# echo -e "<?php\nphpinfo();\n?>" > /usr/local/nginx/html/index.php
  60. [root@memcached ~]# chown -R www:www /usr/local/nginx/html/
  61. [root@memcached ~]# chmod -R 700 /usr/local/nginx/html/
  62. [root@memcached ~]# service nginx restart
  63. [root@memcached ~]# service php-fpm start 

3. 安装libmemcached

  1. #memcached在1.2.4版本(含)以上增加了CAS(Check and Set)协议,即对同一key的多进程的并发处理问题;
  2. #类比数据库,如果同时有多个进程对同一张表的同一数据进行更新,数据库可以锁定整张表,也可以锁定表内某一行数据,memcached的CAS功能与此相似;
  3. #但php-memcache扩展不支持CAS,需要先安装php-memcached扩展(注意与php-memcache扩展的区别),php-memcached扩展基于libmemcached,所以要先安装libmemcached,即php-memcached的库。
  4.  
  5. #libmemcached版本:1.0.18
  6. #https://launchpad.net/libmemcached/+download
  7. #下载libmemcached
  8. [root@memcached ~]# cd /usr/local/src/
  9. [root@memcached src]# wget https://launchpadlibrarian.net/165454254/libmemcached-1.0.18.tar.gz
  10.  
  11. #编译安装,生成Makefile文件时,切记“--with-memcached”参数
  12. [root@memcached src]# tar -zxvf libmemcached-1.0.18.tar.gz.tar
  13. [root@memcached src]# cd libmemcached-1.0.18
  14. [root@memcached libmemcached-1.0.18]# ./configure --prefix=/usr/local/libmemcached --with-memcached
  15. [root@memcached libmemcached-1.0.18]# make
  16. [root@memcached libmemcached-1.0.18]# make install 

4. 安装php-memcached

  1. #php-memcached版本:2.2.0(3.0.0及以上版本针对php7.0及以上版本)
  2. #http://pecl.php.net/package/memcached
  3.  
  4. #php扩展分原生扩展与第三方扩展,在php的源码解压包下的“ext/”目录下可查看所有的原生扩展,php-memcached及php-memcache属于第三方扩展。
  5.  
  6. #下载php-memcached
  7. [root@memcached ~]# cd /usr/local/src/
  8. [root@memcached src]# wget http://pecl.php.net/get/memcached-2.2.0.tgz
  9.  
  10. #编译安装
  11. #phpize: 用于扩展php模块,通过phpize可以建立php的外挂模块
  12. #--enable-memcached: 配置编译环境,编译器编译php源码时使能相应扩展
  13. #--with-php-config:指定php-config文件路径
  14. #--with-libmemcached-dir:指定libmemcached安装目录
  15. #--disable-memcached-sasl:去使能sasl认证,因为没有预安装相应功能
  16. #make:把源码编译成xxxxx.so文件
  17. #make install: 把xxxxx.so文件移动到当前安装php的扩展目录
  18. [root@memcached src]# tar -zxvf memcached-2.2.0.tgz
  19. [root@memcached src]# cd memcached-2.2.0
  20. [root@memcached memcached-2.2.0]# /usr/local/php/bin/phpize
  21. [root@memcached memcached-2.2.0]# ./configure --enable-memcached --with-php-config=/usr/local/php/bin/php-config --with-libmemcached-dir=/usr/local/libmemcached --disable-memcached-sasl
  22. [root@memcached memcached-2.2.0]# make
  23. [root@memcached memcached-2.2.0]# make install

5. 安装php-memcache

  1. #php-memcached版本:2.2.7(stable version)
  2. #http://pecl.php.net/package/memcache
  3.  
  4. #下载php-memcache
  5. [root@memcached ~]# cd /usr/local/src/
  6. [root@memcached src]# wget http://pecl.php.net/get/memcache-2.2.7.tgz
  7.  
  8. #编译安装
  9. [root@memcached src]# tar -zxvf memcache-2.2.7.tgz
  10. [root@memcached src]# cd memcache-2.2.7
  11. [root@memcached memcache-2.2.7]# /usr/local/php/bin/phpize
  12. [root@memcached memcache-2.2.7]# ./configure --enable-memcache --with-php-config=/usr/local/php/bin/php-config
  13. [root@memcached memcache-2.2.7]# make
  14. [root@memcached memcache-2.2.7]# make install 

6. 安装php-intl(原生扩展样例,非必须项)

  1. #php-intl版本:3.0.0
  2. #http://pecl.php.net/package/intl
  3.  
  4. #php-intl是php国际化扩展,是ICU库的一个包装器,安装php-intl扩展前要先安装ICU库
  5. [root@memcached ~]# yum install -y icu libicu libicu-devel
  6.  
  7. #下载php-intl;
  8. #通过查看php源码解压包下的“ext/”目录,php-intl属于原生扩展,理论上可以不用下载,直接在“ext/”下相应扩展目录下编译安装即可;
  9. [root@memcached ~]# cd /usr/local/src/
  10. [root@memcached src]# wget http://pecl.php.net/get/intl-3.0.0.tgz
  11.  
  12. #编译安装
  13. [root@memcached src]# tar -zxvf intl-3.0.0.tgz
  14. [root@memcached src]# cd intl-3.0.0
  15. [root@memcached intl-3.0.0]# /usr/local/php/bin/phpize
  16. [root@memcached intl-3.0.0]# ./configure --enable-intl --with-php-config=/usr/local/php/bin/php-config
  17. [root@memcached intl-3.0.0]# make
  18. [root@memcached intl-3.0.0]# make install

7. 启用扩展

php启用扩展有2种方式(本文介绍方式1):

  1. 直接在php.ini文件中添加扩展如“extension = xxx.so”;
  2. 单独创建ini文件,然后php.ini调用这些创建的文件即可(可通过php5enmod工具支持或者手工配置)。
  1. #修改php.ini,添加扩展,可在第732行后添加扩展(非必须);
    #第732行的”extension_dir”路径修改为绝对路径(非必须,相对路径也可),即以上各扩展“make install”之后的安装路径
  2. [root@memcached ~]# vim /usr/local/php/etc/php.ini
  3. [Intl]
  4. extension = intl.so
  5. [Memcached]
  6. extension = memcached.so
  7. [Memcache]
  8. extension = memcache.so
  9.  
  10. [root@memcached ~]# service php-fpm restart 

8. 验证扩展是否安装成功

  1. #查看扩展模块方式
  2. [root@memcached ~]# /usr/local/php/bin/php -m | grep -E 'memcache|intl'

  1. #phpinfo()方式,利用前面已经生成的index.php文件即可
  2. http://10.11.4.190/index.php

9. php-memcache访问memcached服务器

  1. #修改index.php
  2. [root@memcached ~]# cd /usr/local/nginx/html/
  3. [root@memcached html]# cp index.php index.php.bak
  4. [root@memcached html]# echo "" > index.php
  5. [root@memcached html]# vim index.php
  6.  
  7. <?php
  8. $memcache = new Memcache; #创建一个memcache对象
  9. $memcache->connect('localhost', 11211) or die ("Could not connect"); #连接memcached服务器
  10. $memcache->set('key', 'memcache-test'); #设置1个变量到内存中,key=key, value=memcache-test
  11. $get_value = $memcache->get('key'); #从内存取出key的value
  12. echo $get_value; #回显
  13. ?> 

浏览器访问:http://10.11.4.190/index.php

Memcached&PHP-Memcache安装配置的更多相关文章

  1. memcache与memcached介绍及安装配置

    也许大家一看到Memcache和Memcached会有点晕,这两者有什么关系又有什么区别呢,下面先给大家说下Memcached,Memcached是一个高性能的分布式内存对象缓存系统,用于动态Web应 ...

  2. Memcached和Memcache安装(64位win7)

    一.Memcached和Memcache的区别: 网上关于Memcached和Memcache的区别的理解众说纷纭,我个人的理解是: Memcached是一个内存缓存系统,而Memcache是php的 ...

  3. Memcached和Memcache安装(64位win7)[z]

    http://www.cnblogs.com/lucky-man/p/6126667.html 一.Memcached和Memcache的区别: 网上关于Memcached和Memcache的区别的理 ...

  4. Memcached和Memcache安装(64位win2008)

    一.Memcached和Memcache的区别: 网上关于Memcached和Memcache的区别的理解众说纷纭,我个人的理解是: Memcached是一个内存缓存系统,而Memcache是php的 ...

  5. S1_搭建分布式OpenStack集群_03 Mysql、MQ、Memcached、ETCD安装配置

    一.安装mysql(contorller)controller ~]# yum -y install mariadb mariadb-server python2-PyMySQL 配置my.cnf文件 ...

  6. Memcache安装配置

    介绍 Memcache是一个高性能的分布式的内存对象缓存系统,通过在内存里维护一个统一的巨大的hash表,它能够用来存储各种格式的数据,包括图像.视频.文件以及数据库检索的结果等.简单的说就是将数据调 ...

  7. Memcache 安装配置使用

    Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载.                                                     ...

  8. Linux Memcache 安装配置

    mkdir /soft cd /soft wget http://memcached.org/files/memcached-1.4.29.tar.gz tar -zxvf memcached-.ta ...

  9. 搭建LNAMP环境(七)- PHP7源码安装Memcached和Memcache拓展

    上一篇:搭建LNAMP环境(六)- PHP7源码安装MongoDB和MongoDB拓展 一.安装Memcached 1.yum安装libevent事件触发管理器 yum -y install libe ...

随机推荐

  1. DPDK运行出现EAL Error reading from file descriptor 23 Input output error

    原因 dpdk不支持该网卡导致,需要修改一行代码,跳过dpdk pci 检查. 解决方法 修改lib/librte_eal/linuxapp/igb_uio/igb_uio.c 将文件中该行修改 pc ...

  2. Android开发之自己定义TabHost文字及背景(源码分享)

    使用TabHost 能够在一个屏幕间进行不同版面的切换,而系统自带的tabhost界面较为朴素,我们应该怎样进行自己定义改动优化呢 MainActivity的源码 package com.dream. ...

  3. web前端开发从0到1—html结构与常用标签

    一:html文档标签结构 <html></html><!--文档片头信息,表示文档内容是用什么标签写的.--> <head></head>& ...

  4. oracle基础知识过一遍(原创)

    用户.角色.权限.表空间 create tablespace test1_tablespace datafile ‘test1file.dbf’ size 10m; create temporary  ...

  5. 网站jcms流程分析

    本实例大致流程:基于jsp页面,通过servlet传递数据调用方法,利用service更改数据库.本文重点分析的是其中的两个小方法add()和delete(),来反映出反射机制的一个具体作用:减少Se ...

  6. navicat mysql 存储过程

    存储过程如同一门程序设计语言,同样包含了数据类型.流程控制.输入和输出和它自己的函数库. 一.基本数据类型:略 二.变量: 自定义变量:DECLARE   a INT ; SET a=100; 可用以 ...

  7. python散记

    1.AOP 将不同的类的内部中雷同的代码和重复的功能,提取出来以重用. 装饰器是一个很著名的设计模式,经常被用于有切面需求的场景,较为经典的有插入日志.性能测试.事务处理等 2.新式类,经典类 新式类 ...

  8. 基于 HTML5 Canvas 的 3D 渲染引擎构建机架式服务器

    前言 今天找到了 HT 的官网里的 Demo 网站( http://www.hightopo.com/demos/index.html ),看的我眼花缭乱,目不暇接. 而且 HT 的用户手册,将例子和 ...

  9. Redis之Redis持久化

    Redis(Remote Dictionary Server)是一个可持久化的内存.Key-Value数据库. 作为内存数据库,为了防止因服务器断电或系统宕机而引起的数据丢失问题,Redis自带了持久 ...

  10. jdbc之Statement和Preparement

    Jdbc DML 操作 Statement:静态SQL操作 每次操作都会将sql语句提交到数据库执行一次,性能比较低 // 1.加载驱动程序 Class.forName(driverName); // ...