开源项目

知识点

相关文章

更多

最近更新

更多

Memcached add 添加key-value命令(存在不会更新)

2019-04-26 16:54|来源: 网路

Memcached add 命令

Memcached add 命令用于将 value(数据值) 存储在指定的 key(键) 中。

如果 add 的 key 已经存在,则不会更新数据(过期的 key 会更新),之前的值将仍然保持相同,并且您将获得响应 NOT_STORED

语法:

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

add key flags exptime bytes [noreply]
value

参数说明如下:

  • key:键值 key-value 结构中的 key,用于查找缓存值。

  • flags:可以包括键值对的整型参数,客户机使用它存储关于键值对的额外信息 。

  • exptime:在缓存中保存键值对的时间长度(以秒为单位,0 表示永远)

  • bytes:在缓存中存储的字节数

  • noreply(可选): 该参数告知服务器不需要返回数据

  • value:存储的值(始终位于第二行)(可直接理解为key-value结构中的value)

实例

以下实例中我们设置:

  • key → new_key

  • flag → 0

  • exptime → 900 (以秒为单位)

  • bytes → 10 (数据存储的字节数)

  • value → data_value

add new_key 0 900 10
data_value
STORED
get new_key
VALUE new_key 0 10
data_value
END

输出

如果数据添加成功,则输出:

STORED

输出信息说明:

  • STORED:保存成功后输出。

  • NOT_STORED :在保存失败后输出。

相关问答

更多
  • 我仍然不知道为什么memcached只能在命令行中运行,但我决定尝试使用Redis 。 安装完成后,一切顺利。 I still have no idea why memcached only works from the command line, but I decided to try Redis instead. After installing, everything works without a hitch.
  • 如果你真的想使用memcached来避免在你的环境中引入更多的东西/复杂性,那么考虑一个非常小但专用的memcached配置只是为了锁定。 但是,如果你愿意接受不依赖memcached的解决方案,那么我个人会使用zookeeper来实现java中的分布式锁定。 我也会使用Netflix的curator utils来简化这个过程。 If you really want to use memcached to avoid introducing more stuff/complexity into your e ...
  • Memcached是一个非常简单的产品,可作为内存缓存系统的基础。 如果你使用memcached,那么你还需要某种持久性数据库。 例如,如果您正在使用mysql并且想要更好的性能,可以将memcached放在它前面以加快速度。 Couchbase是一种在memcached层下包含持久层的产品。 这意味着Couchbase是您的数据库,您不需要像mysql这样的东西。 除此之外,您还可以获得无模式数据层,轻松的可扩展性以及始终支持的数据复制。 在即将发布的Couchbase 2.0中,您还将获得查询支持和跨数 ...
  • Spring Boot不提供任何对会话存储使用memcached的开箱即用支持,因此无法通过application.properties进行配置。 但是,您可以通过自定义嵌入式Tomcat实例以编程方式对其进行配置。 以下Java配置等同于问题中的Tomcat context.xml : @Bean public EmbeddedServletContainerFactory tomcat() { return new TomcatEmbeddedServletContainerFactory() ...
  • 要使用memcached,您需要在ruby中配置正确的IP和端口号。 启动本地联网的memcached服务器: $ memcached -p 11211 & 现在,在Ruby中,需要库并在全局级别实例化Memcached对象: require 'memcached' $cache = Memcached.new("localhost:11211") 从这里的用法部分: http : //rubydoc.info/gems/memcached-northscale/0.19.5.4/file/README ...
  • 看起来像NodeLocator.updateLocator(List newNodes)应该完成这项工作。 但要连接MemcachedNode有点困难。 您必须覆盖MemcachedClient , MemcachedConnection和DefaultConnectionFactory 。 您希望在MemcachedClient添加或删除客户端是合理的,因此您可以添加remove(MemcachedNode node)和add(MemcachedNode node)方法。 如 ...
  • 我从来没有听说过你的花括号表示法,也找不到任何关于它的信息。 我不会说它不存在。 但是,最简单的操作方法是使用不同的分隔符,这些分隔符不能被误解为变量的一部分。 喜欢这个: set $memcached_key $cookie_devicetype:$request_uri; I have never heard of your curly bracket notation and cannot find any information about it. I won't say it doesn't e ...
  • 我会尝试telnet到你的memcached群集,以排除防火墙问题。 您可以使用以下命令执行此操作。 telnet memcached-myexample.jelastic.dogado.eu 11211 如果这不起作用,那么您有网络问题。 如果是这种情况,我会先检查你是否有防火墙。 I would try to telnet to your memcached cluster in order to rule out a firewall issue. You can do that with the f ...
  • 我曾经手动编译memcached堆栈,其中包括igbinary。 这是在我开始使用remi repo之前,它提供了更新的包,没有手动编译的所有开销。 以下是我用来手动编译igbinary时使用的注释: Had to scp the source from another computer due to lack of direct links, the next steps assume pecl/memcached files are local and extracted $ -> wget http: ...
  • 可以在django 缓存文档中找到基础知识。 如果你有一个非常基本的博客,所有页面都有点相同,你可以使用缓存中间件,它只是缓存一切。 MIDDLEWARE_CLASSES = ( 'django.middleware.cache.UpdateCacheMiddleware', 'django.middleware.common.CommonMiddleware', 'django.middleware.cache.FetchFromCacheMiddleware', ) 这将缓存整 ...