• 一脚踏进Memcached的大门


    Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态、数据库驱动网站的速度。Memcached基于一个存储键/值对的hashmap。其守护进程(daemon )是用写的,但是客户端可以用任何语言来编写,并通过memcached协议与守护进程通信。

    一、Memcached简介

    Memcached是一个自由开源的,高性能,分布式内存对象缓存系统。

    Memcached是以LiveJournal旗下Danga Interactive公司的Brad Fitzpatric为首开发的一款软件。现在已成为mixi、hatena、Facebook、Vox、LiveJournal等众多服务中提高Web应用扩展性的重要因素。

    Memcached是一种基于内存的key-value存储,用来存储小块的任意数据(字符串、对象)。这些数据可以是数据库调用、API调用或者是页面渲染的结果。

    Memcached简洁而强大。它的简洁设计便于快速开发,减轻开发难度,解决了大数据量缓存的很多问题。它的API兼容大部分流行的开发语言。

    本质上,它是一个简洁的key-value存储系统。

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

    二、Memcached的特性

    memcached作为高速运行的分布式缓存服务器,具有以下的特点。

    • 协议简单
    • 基于libevent的事件处理
    • 内置内存存储方式
    • memcached不互相通信的分布式

    三、Linux下的安装使用

    yum install memcached
    如果缺少其他包请安装以下组件
    yum groupinstall "Development Tools"
    

    四、Memcached配置文件

    Memcached的配置文件非常的简单,如果不需要改动就按默认的然后直接启动即可。
    主程序:/usr/bin/memcached
    配置文件:/etc/sysconfig/memcached

    # cat /etc/sysconfig/memcached 
    PORT="11211"								# memechaced监听的端口
    USER="memcached"							# 运行程序的用户
    MAXCONN="1024"							    # 最大并发连接数
    CACHESIZE="64" 						        # 缓存大小
    OPTIONS=""
    

    五、Memcached的运行命令

    /usr/local/memcached/bin/memcached -h 
        -d是启动一个守护进程;
        -m是分配给Memcache使用的内存数量,单位是MB;
        -u是运行Memcache的用户;
        -l是监听的服务器IP地址,可以有多个地址;
        -p是设置Memcache监听的端口,,最好是1024以上的端口;
        -c是最大运行的并发连接数,默认是1024;
        -P是设置保存Memcache的pid文件。
    
    作为后台程序运行
     /usr/local/memcached/bin/memcached -p 11211 -m 64m -d
    

    六、Memcached的连接

    memcached默认没有认证机制,可借用于SASL进行认证;所以要想连接memcahced的话直接使用最简单的telnet命令即可连接

    telnet 127.0.0.1 11211
    Trying 127.0.0.1...
    Connected to 127.0.0.1.
    Escape character is '^]'.
    set foo 0 0 3                                                   保存命令
    bar                                                             数据
    STORED                                                          结果
    get foo                                                         取得命令
    VALUE foo 0 3                                                   数据
    bar                                                             数据
    END                                                             结束行
    quit                                                            退出
    
  • 相关阅读:
    C++雾中风景16:std::make_index_sequence, 来试一试新的黑魔法吧
    神经网络中的降维和升维方法 (tensorflow & pytorch)
    论文翻译:2020_Residual Acoustic Echo Suppression Based On Efficient Multi-Task Convolutional Neural Network
    论文翻译:2018_Deep Learning for Acoustic Echo Cancellation in Noisy and Double-Talk Scenarios
    十分钟入门Apollo
    SpringSecurity实现OAuth2+JWT
    实现Vue的多页签组件
    原生redis命令
    .NET Core学习笔记(8)——Entity Framework Core之Database First
    函数极限的计算_计算机程序化实现的理论基础
  • 原文地址:https://www.cnblogs.com/aubin/p/7818992.html
Copyright © 2020-2023  润新知