zoukankan      html  css  js  c++  java
  • memcache和memcached区别

    Memcache是一个自由和开放源代码、高性能、分配的内存对象缓存系统。用于加速动态web应用程序,减轻数据库负载。它可以应对任意多个连接,使用非阻塞的网络IO。由于它的工作机制是在内存中开辟一块空间,然后建立一个Hash表,Memcached自管理这些Hash表。

    Memcached是简单而强大的。它简单的设计促进迅速部署,易于发展所面临的问题,解决了很多大型数据缓存。它的API可供最流行的语言。

    Memcache官方网站:http://memcached.org/

    Memcached又是什么?

    Memcache是该系统的项目名称,Memcached是该系统的主程序文件(字母d可以理解为daemon),以守护程序方式运行于一个或多个服务器中,随时接受客户端的连接操作,使用共享内存存取数据。

    memcache运行状态查看:

    telnet ip 端口

    或者

    echo stats |nc ip 端口

      

    下面是一些主要用到的命令,具体详细情况请查阅官方文档 doc/protocol.txt

    CommandDescriptionExample
    get Reads a value get mykey
    set Set a key unconditionally set mykey 0 60 5
    add Add a new key add newkey 0 60 5
    replace Overwrite existing key replace key 0 60 5
    append Append data to existing key append key 0 60 15
    prepend Prepend data to existing key prepend key 0 60 15
    incr Increments numerical key value by given number incr mykey 2
    decr Decrements numerical key value by given number decr mykey 5
    delete Deletes an existing key delete mykey
    flush_all Invalidate specific items immediately flush_all
    Invalidate all items in n seconds flush_all 900
    stats Prints general statistics stats
    Prints memory statistics stats slabs
    Prints memory statistics stats malloc
    Print higher level allocation statistics stats items
      stats detail
      stats sizes
    Resets statistics stats reset
    version Prints server version. version
    verbosity Increases log level verbosity
    quit Terminate telnet session quit

    查看Statistics

    通过下面命令查看 statistics 信息:

    stats
    

    你会获得一个服务状态的详细列表信息,具体情况如下:

    
    
    参数描述
    pid 7862 memcache服务器进程ID
    uptime 12617972 服务器已运行秒数
    time 1320756409 服务器当前Unix时间戳
    version 1.4.5 memcache版本
    pointer_size 64 操作系统指针大小
    rusage_user 1.731736 进程累计用户时间
    rusage_system 251.421778 进程累计系统时间
    curr_connections 41 当前连接数量
    total_connections 848 Memcached运行以来连接总数
    connection_structures 46 Memcached分配的连接结构数量
    cmd_get 164377 get命令请求次数
    cmd_set 58617 set命令请求次数
    cmd_flush 0 flush命令请求次数
    get_hits 105598 get命令命中次数
    get_misses 58779 get命令未命中次数
    delete_misses 0 delete命令未命中次数
    delete_hits 0 delete命令命中次数
    incr_misses 0 incr命令未命中次数
    incr_hits 0 incr命令命中次数
    decr_misses 0 decr命令未命中次数
    decr_hits 0 decr命令命中次数
    cas_misses 0 cas命令未命中次数
    cas_hits 0 cas命令命中次数
    cas_badval 0 使用擦拭次数
    auth_cmds 0 认证命令处理的次数
    auth_errors 0 认证失败数目
    bytes_read 262113283 读取总字节数
    bytes_written 460023263 发送总字节数
    limit_maxbytes 536870912 分配的内存总大小(字节)
    accepting_conns 1 服务器是否达到过最大连接(0/1)
    listen_disabled_num 0 失效的监听数
    threads 4 当前线程数
    conn_yields 0 连接操作主动放弃数目
    bytes 1941693 当前存储占用的字节数
    curr_items 476 当前存储的数据总数
    total_items 58617 启动以来存储的数据总数
    evictions 0 LRU释放的对象数目
    reclaimed 48830 已过期的数据条目来存储新数据的数目
         如果你不确定你是否有足够的内存,你可以通过查看evictions”的值来确定Memcache实例的内存使用情况,如果还有足够的内存,那么“evictions”的值应该为0或者不在增长。

    查看 Memory Statistics

    你可以通过下面命令查看当前 memory statistics :

    stats slabs
    

    Example:

    STAT 1:chunk_size 80
    STAT 1:chunks_per_page 13107
    STAT 1:total_pages 1
    STAT 1:total_chunks 13107
    STAT 1:used_chunks 13106
    STAT 1:free_chunks 1
    STAT 1:free_chunks_end 12886
    STAT 2:chunk_size 100
    STAT 2:chunks_per_page 10485
    STAT 2:total_pages 1
    STAT 2:total_chunks 10485
    STAT 2:used_chunks 10484
    STAT 2:free_chunks 1
    STAT 2:free_chunks_end 10477
    [...]
    STAT active_slabs 3
    STAT total_malloced 3145436
    END
    

    查看各个Slab中Item的数目和年龄(最后一次访问距现在的秒数)

    stats items
    

     结果:

    stats items
    STAT items:1:number 220
    STAT items:1:age 83095
    STAT items:2:number 7
    STAT items:2:age 1405
    [...]
    END
    

    清空统计数据

    stats resets
    

    显示内存分配数据

    stats malloc
    

    设置或显示详细操作记录

    stats detail [on|off|dump]
    

    清空所有键值

    flush_all
    

    退出

    quit
    

    最大有效期为 30 !

         不要设置过期时间超过30天,如果超过30天,Memcache会把它当做一个 Unix timestamp。

          设置最大有效期(2592000ms)例子:

    set my_key 0 2592000 1
    1
    
  • 相关阅读:
    CMD命令提示符的基本操作指令
    JDBC连接Oracle
    JDBC连接MySQL
    Oracle树状结构的存储与展示
    C语言 深入学习
    C# widget
    C#深入多线程
    数据库常用知识
    ASP.NET开发总结
    ASP.NET —— Web Pages
  • 原文地址:https://www.cnblogs.com/mikeluwen/p/7757749.html
Copyright © 2011-2022 走看看