• memcached


    memcached介绍

    	Memcached是一个高性能的分布式内存对象缓存系统,用于加速动态Web应用以减轻数据库负载。
    	Memcached通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态、数据库驱动网站的速度。
    	Memcached基于一个存储键/值对的hashmap,其守护进程(daemon )是用C写的,但是客户端可以用任何语言来编写,并通过memcached协议与守护进程通信。但是它并不提供冗余,当某个服务器S停止运行或崩溃了,所有存放在S上的键/值对都将丢失。
    	Memcached缺乏认证以及安全管制,这代表应该将memcached服务器放置在防火墙后。
    	memcached的服务器客户端通信并不使用复杂的XML等格式,而使用简单的基于文本行的协议。
    	memcached作为高速运行的分布式缓存服务器,具有以下的特点
    		协议简单
    		基于libevent的事件处理
    		内置内存存储方式
    		memcached不互相通信的分布式
    	缓存服务器:
    		cache,无持久存储功能;
    		bypass缓存,依赖于客户端的智能;
    		k/v cache,仅支持存储可流式化数据;
    	特性:
    			k/v cache:仅可存储可序列化数据;存储项:k/v;
    			智能性一半依赖于客户端(调用memcached的API开发程序),一半依赖于服务端;
    			分布式缓存:互不通信的分布式集群;
    				分布式系统请求路由方法:取模法,一致性哈希算法;
    			算法复杂度:O(1)
    			清理过期缓存项:
    				缓存耗尽:LRU 
    				缓存项过期:惰性清理机制
    			
    	安装配置:
    		由CentOS 7 base仓库直接提供:
    			监听的端口:
    				11211/tcp, 11211/udp 
    		主程序:/usr/bin/memcached
    		配置文件:/etc/sysconfig/memcached
    		Unit File:memcached.service 
    		协议格式:memcached协议
    			文本格式
    			二进制格式
    			
    		命令:
    			统计类:stats, stats items, stats slabs, stats sizes
    			存储类:set, add, replace, append, prepend
    				命令格式:<command name> <key> <flags> <exptime> <bytes>  <cas unique>
    			检索类:get, delete, incr/decr
    			清空:flush_all
    			
    			示例:
    				telnet> add KEY <flags> <expiretime> <bytes> 
    				telnet> VALUE
    				
    		memcached程序的常用选项:
    			-m <num>:	使用<num>MB内存最大值用于对象存储,默认为64MB.
    			-c <num>:	使用<num>最大同时连接,默认为1024
    			-u <username>:	以指定的用户身份来运行进程;
    			-l <ip_addr>:	监听的IP地址,默认为本机所有地址;
    			-p <num>:	监听的TCP端口,默认为 11211.
    			-U <num>:	Listen on UDP port <num>, the default is port 11211, 0 is off.
    			-M:	内存耗尽时,不执行LRU清理缓存,而是拒绝存入新的缓存项,直到有多余的空间可用时为止;
    			-f <factor>:	增长因子;默认是1.25;
    			-t <threads>:	启动的用于响应用户请求的线程数;
    			
    		memcached默认没有认证机制,可借用于SASL进行认证;
    			SASL:Simple Authentication Secure Layer
    			
    		API:
    			php-pecl-memcache
    			php-pecl-memcached
    			python-memcached
    			libmemcached
    			libmemcached-devel
    		命令行工具:
    			memcached-tool  SERVER:PORT  COMMAND 
    
  • 相关阅读:
    使用POI读取excel文件内容
    有序链表
    jQuery Validate验证框架详解
    怎样在VS2010中打开VS2012的项目
    在Win8.1系统下如何安装运行SQL Server 2005
    SQL2005 2008配置错误,无法识别的配置节 system.serviceModel machine.config配置文件有问题
    深入浅出学Spring Data JPA
    Java 学习摘要
    JFinal
    spring 4 + jpa(hibernate 3/4) + spring mvc 多数据源配置
  • 原文地址:https://www.cnblogs.com/shenxm/p/8466941.html
Copyright © 2020-2023  润新知