Memcached的使用 一、安装和启动二、telnet操作memcached三、python操作memcached

一、安装和启动

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

windows

  • 安装:memcached.exe -d install
  • 启动:memcached.exe -d start

centos7

  • 安装:yum install -y memcached
  • 启动:service memcached start
  • 查看进程:ps -ef | grep memcached
  • 杀死进程:kill -9 pid
  • 设置启动参数:/usr/bin/memcached -u memcached -m 64 -p 11211 -l 0.0.0.0 -d start
  • 参数说明:
  • -d:这个参数是让memcached在后台运行
  • -m:指定占用多少内存。一M位单位,默认为64M
  • -p:指定占用的端口。默认端口是11211
  • -l:指定哪些ip地址可以连接

二、telnet操作memcached

登录方式--->> telnet 【ip地址】【端口号】

telnet 127.0.0.1 11211

连接成功后按“空格”键,再按一下“Enter键”,然后就可以开始操作了,memcached存储数据是以键值对的方式存储

常用的命令

(1)set

 在memcached中添加一个“key-value”,如果这个‘key’之前已经存在,那么就会替换,否则就是添加。

参数说明

  • username:是设置的key
  • 0:是否需要压缩
  • 60:过期时间
  • 5:value的字符长度
  • derek:key的value

 (2)get

 从memcached中根据“key来”获取一个数据。

(3)add

给memcached添加键值对,如果memcached中之前存在了这个key,那么就添加失败,否则就添加成功。

(4)delete

删除memcached中的一个键值对

(5)flush_all

删除memcached中所有的键值对,所以要谨慎使用。

(6)incr

给memcached中的那些数字类型的值进行相加操作,都必须是数字类型,否则就会报错

(7)decr

给memcached中那些数字类型的进行相减操作,都必须是数字类型,否则报错。

 (8)stats

查看memcached的状态,一些有用的参数如下:

  • get_hists:get命令命中了多少次
  • get_misses:get命令空了多少次
  • curr_items:当前memcached中的键值对的个数
  • total_connections:从memcached开启到现在总共的连接数
  • curr-connections:当前memcached的连接数
  • memcached:默认最大的连接数是1024

三、python操作memcached

(1)安装

pip install python-memcached

(2)建立链接

import memcache

cache = memcache.Client(['139.199.131.146'],debug=True)

(2)设置数据

# 设置一个键值对
cache.set('username','Tom',time=60)

# 设置多个键值对
cache.set_multi({'age':20,'email':'111@qq.com'},time=120)

(3)获取数据

cache.get('email')

(4)删除数据

cache.delete('email')

(5)自增长(+1)

cache.incr('num')

(6)自减少

cache.decr('num')

(7)可以设置加多少或者减多少

cache.incr('num',delta=100)
cache.decr('num',delta=50

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏游戏开发那些事

【Linux程序设计】之进程控制&守护进程

这个系列的博客贴的都是我大二的时候学习Linux系统高级编程时的一些实验程序,都挺简单的。

1772
来自专栏闵开慧

map函数或reduce函数中如何调用第三方jar包

    一般我们在mapreduce程序中调用第三方jar包时会出现找不到jar包的问题,检查发现jar包就在相应路径,mapreduce任务就是找不到。仔细想...

3275
来自专栏chenssy

【死磕Java并发】—–J.U.C之Condition

在没有Lock之前,我们使用synchronized来控制同步,配合Object的wait()、notify()系列方法可以实现等待/通知模式。在Java SE...

3414
来自专栏学习力

《Java从入门到放弃》框架入门篇:Struts2的基本访问方式(二)

1634
来自专栏流媒体

C语言编译过程

预编译结果解释 # linenum filename flags 分别对应行号、文件、标识。 flag对应的含义

2042
来自专栏锦小年的博客

python学习笔记5.3-包的创建

包,也可以称为库,是具有很多功能的一个集合体。本文主要介绍如何自己创建一个包,以及介绍一些在包的创建过程中的技巧。 1. 包的创建 本文的例子将使用最复杂的情况...

2568
来自专栏王小雷

程序员必知的LinuxShell命令

程序员必知的LinuxShell命令 grep (Globle Regular Expression Print全局正则表达式) 命令是一种强大的文本搜索工具,...

1977
来自专栏地方网络工作室的专栏

Shell 命令行获取本机IP,grep的练习

Shell 命令行获取本机IP,grep的练习 在 mac 下面输入 ifconfig 或者在 linux 下面输入 ip a 就可以得到我们的网卡信息。不过通...

5716
来自专栏我的博客

YII使用命令行模式

入口文件:shell.php run(); 数据库配置文件console.php可以参考main.php 演示protected/commands/TestCo...

3533
来自专栏我的技术专栏

Linux编译工具:gcc入门

1504

扫码关注云+社区

领取腾讯云代金券