memcached 使用 / go 操作memcached (gomemcache) / python 操作 memcached (python-memcached)

本文介绍了如何使用memcached,包括通过telnet进行的存储和查找命令,如set、add、replace、append、prepend、CAS、get、gets和delete。此外,还提到了使用Go的gomemcache库和Python的python-memcached库进行操作的方法。
摘要由CSDN通过智能技术生成

简介

Memcached是一个自由开源的,高性能,分布式内存对象缓存系统。
Memcached是一种基于内存的key-value存储,用来存储小块的任意数据(字符串、对象)。这些数据可以是数据库调用、API调用或者是页面渲染的结果

安装

这里使用docker安装
docker-compose.yaml

  version: "3.7"
  services:
    memcached:
      image: memcached
      ports:
        - 21211:11211
      healthcheck:
        test: ["CMD", "echo", "stats", "|",  "nc", "127.0.0.1", "11211"]
        interval: 20s
        timeout: 1s
        retries: 20

使用

使用telnet 链接 memcached, 并测试其方法:

luslin@local:~$ telnet 127.0.0.1 21211
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.

1. 存储命令

a. set

Memcached set 命令用于将 value(数据值) 存储在指定的 key(键) 中。
如果set的key已经存在,该命令可以更新该key所对应的原来的数据,也就是实现更新的作用。
语法:
set 命令的基本语法格式如下:

set key flags exptime bytes [noreply] 
value
  • key:键值 key-value 结构中的 key,用于查找缓存值。
  • flags:可以包括键值对的整型参数,客户机使用它存储额外信息 。
  • exptime:在缓存中保存键值对的时间长度(以秒为单位,0 表示永远)
  • bytes:在缓存中存储的字节数
  • noreply(可选): 该参数告知服务器不需要返回数据
  • value:存储的值(始终位于第二行)(可直接理解为key-value结构中的value)

例如:

set l1 0 10000 1
a
STORED # 返回结果
b. add

Memcached add 命令用于将 value(数据值) 存储在指定的 key(键) 中。
如果 add 的 key 已经存在,则不会更新数据(过期的 key 会更新),之前的值将仍然保持相同,并获得响应 NOT_STORED。
语法:
add 命令的基本语法格式如下:

add key flags exptime bytes [noreply]
value

例如:

add l1 0 10000 2
aa 
NOT_STORED # 没有设置成功
add l2 0 10000 1
b
STORED 
get l1 l2
VALUE l1 0 1
a
VALUE l2 0 1
b
c. replace

Memcached replace 命令用于替换已存在的 key(键) 的 value(数据值)。
如果 key 不存在,则替换失败,并且您将获得响应 NOT_STORED。

语法:
replace 命令的基本语法格式如下:

replace key flags exptime bytes [noreply]
value

例如:

replace l1 0 10000 2
aa
STORED
replace l3 0 10000 1
a
NOT_STORED
get l1 l3
VALUE l1 0 2
aa
END
d. append

Memcached append 命令用于向已存在 key(键) 的 value(数据值) 后面追加数据 。

语法:
append 命令的基本语法格式如下:

append key flags exptime bytes [noreply]
value

例如:

append l1 0 10000 1
b
STORED
append l3 0 10000 1
c
NOT_STORED
get l1 l3
VALUE l1 0 3
aab
END
e. prepend

Memcached prepend 命令用于向已存在 key(键) 的 value(数据值) 前面追加数据 。

语法:
prepend 命令的基本语法格式如下:

prepend key flags exptime bytes [noreply]
value

例如:

prepend l1 0 10000 1
p
STORED
get l1
VALUE l1 0 4
paab
END
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值