이 글은 memcached의 일반적인 명령어를 주로 소개하고 있는데, 편집자는 꽤 좋다고 생각해서 공유하고 참고하겠습니다. 편집기를 따라 살펴보겠습니다
1. Memcache 시작을 위한 공통 매개변수
1 2 3 4 5 6 7 8 |
|
자세한 내용은 memcached -h
를 사용할 수 있습니다. Linux: ./usr/local/bin/memcached - d -u root -l 192.168.1.197 -m 2048 -p 12121
창 아래: d:App_Servmemcachedmemcached.exe -d RunService -l 127.0.0.1 -p 11211 -m 500
Windows에서 서비스로 등록한 후 실행:
1 2 |
|
2. 연결 및 종료
1 2 |
|
3. 기본 명령
5가지 기본 memcached 명령이 가장 간단한 작업을 수행합니다. 이러한 명령 및 작업은 다음과 같습니다.
set
add
replace
get
delete
키 값 올바른 표준 수정 명령입니다. 매우 간단하고 사용하기 쉬우며 모두 아래 표시된 구문을 사용합니다.
1 2 |
|
매개변수는 다음과 같이 설명됩니다.
명령어 set/add/replace
키 키는 캐시된 값을 찾는 데 사용됩니다.
플래그에는 키-값 쌍이 포함될 수 있습니다. 키-값 쌍에 대한 추가 정보를 저장하기 위해 클라이언트가 사용하는 정수 매개변수
만료 시간 키-값 쌍이 보관되는 시간(초 단위, 0은 영원히 유지됨) the 캐시
bytes 캐시에 저장된 바이트 포인트 수
value 저장된 값(항상 두 번째 줄에 있음)
이제 이 명령의 실제 사용을 살펴보겠습니다.
3.1 set
set 명령은 캐시에 새로운 키-값 쌍을 추가하는 데 사용됩니다. 키가 이미 존재하는 경우 이전 값이 대체됩니다.
set 명령을 사용하는 다음 상호 작용에 유의하세요.
1 2 3 |
|
set 명령을 사용하여 키-값 쌍이 올바르게 설정된 경우 서버는 STORED라는 단어로 응답합니다. 이 예에서는 키가 userId이고 값이 12345인 캐시에 키-값 쌍을 추가합니다. 만료 시간을 0으로 설정하면 이 값을 삭제할 때까지 캐시에 저장하려고 한다는 사실을 memcached에 알립니다.
3.2 add
add 명령은 키가 캐시에 없는 경우에만 캐시에 키-값 쌍을 추가합니다. 키가 캐시에 이미 존재하는 경우 이전 값은 여전히 동일하며 NOT_STORED 응답을 받게 됩니다.
다음은 add 명령을 사용하는 표준 상호 작용입니다.
1 2 3 4 5 6 7 8 9 |
|
3.3 replacement
replace 명령은 키가 이미 존재하는 경우에만 캐시의 키를 교체합니다. 키가 캐시에 없으면 memcached 서버로부터 NOT_STORED 응답을 받게 됩니다.
다음은 바꾸기 명령을 사용하는 표준 상호 작용입니다.
1 2 3 4 5 6 7 8 9 |
|
마지막 두 가지 기본 명령은 가져오기 및 삭제입니다. 이러한 명령은 아래와 같이 매우 이해하기 쉽고 유사한 구문을 사용합니다.
1 |
|
이 명령의 적용을 살펴보겠습니다.
3.4 get
get 명령은 이전에 추가된 키-값 쌍과 관련된 값을 검색하는 데 사용됩니다. get을 사용하여 대부분의 검색 작업을 수행합니다.
다음은 get 명령을 사용하는 일반적인 상호 작용입니다.
1 2 3 4 5 6 7 8 9 |
|
보시다시피 get 명령은 매우 간단합니다. 키를 가지고 get을 호출하고, 캐시에 키가 존재하면 해당 값이 반환됩니다. 존재하지 않으면 아무것도 반환되지 않습니다.
3.5 delete
마지막 기본 명령어는 삭제입니다. delete 명령은 memcached의 기존 값을 삭제합니다. 키를 사용하여 삭제를 호출하고 키가 캐시에 있으면 값을 삭제합니다. 존재하지 않으면 NOT_FOUND 메시지가 반환됩니다.
다음은 삭제 명령을 사용한 클라이언트-서버 상호 작용입니다.
1 2 3 4 5 6 7 8 9 |
|
memcached에서 사용할 수 있는 두 가지 고급 명령은 get과 cas입니다. get 및 cas 명령을 함께 사용해야 합니다. 값이 이미 업데이트된 경우 기존 이름/값 쌍이 새 값으로 설정되지 않도록 하려면 이 두 명령을 사용합니다. 이러한 명령을 개별적으로 살펴보겠습니다.
3.6 gets
gets 명령은 기본 get 명령과 유사하게 작동합니다. 두 명령의 차이점은 get이 이름/값 쌍의 "버전" 식별자와 매우 유사한 64비트 정수 값이라는 약간 더 많은 정보를 반환한다는 것입니다.
다음은 gets 명령을 사용한 클라이언트 서버 상호 작용입니다.
1 2 3 4 5 6 7 8 9 10 11 |
|
get과 gets 명령의 차이점을 고려하세요. gets 명령은 이름/값 쌍을 식별하는 추가 값(이 경우 정수 값 4)을 반환합니다. 이 이름/값 쌍에 대해 다른 set 명령이 실행되면 gets에서 반환된 추가 값은 이름/값 쌍이 업데이트되었음을 나타내도록 변경됩니다. 예가 표시됩니다:
1 2 3 4 5 6 7 |
|
您看到 gets 返回的值了吗?它已经更新为 5。您每次修改名称/值对时,该值都会发生更改。
3.7 cas
cas(check 和 set)是一个非常便捷的 memcached 命令,用于设置名称/值对的值(如果该名称/值对在您上次执行 gets 后没有更新过)。它使用与 set 命令相类似的语法,但包括一个额外的值:gets 返回的额外值。
注意以下使用 cas 命令的交互:
1 2 3 4 5 6 7 8 9 10 |
|
如您所见,我使用额外的整型值 6 来调用 gets 命令,并且操作运行非常顺序。现在,我们来看看中的一系列命令:
使用旧版本指示符的 cas 命令
1 2 3 4 5 6 7 8 9 10 |
|
注意,我并未使用 gets 最近返回的整型值,并且 cas 命令返回 EXISTS 值以示失败。从本质上说,同时使用gets 和cas 命令可以防止您使用自上次读取后经过更新的名称/值对。
缓存管理命令
最后两个 memcached 命令用于监控和清理 memcached 实例。它们是 stats 和 flush_all 命令。
3.8 stats
stats 命令的功能正如其名:转储所连接的 memcached 实例的当前统计数据。在下例中,执行 stats 命令显示了关于当前 memcached 实例的信息:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 |
|
此处的大多数输出都非常容易理解。我们先来看看输出,然后再使用新的键来运行一些 set 命令,并再次运行stats 命令,注意发生了哪些变化。
stats items
执行stats items,可以看到STAT items行,如果memcached存储内容很多,那么这里也会列出很多的STAT items行。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
|
stats cachedump slabs_id limit_num
slabs_id:由stats items返回的结果(STAT items后面的数字)决定的
limit_num:返回的记录数,0表示返回所有记录
通过stats items、stats cachedump slab_id limit_num配合get命令可以遍历memcached的记录。
1 2 3 4 5 6 7 8 9 |
|
stats slabs 显示各个slab的信息,包括chunk的大小、数目、使用情况等
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
|
stats sizes 输出所有item的大小和个数
STAT 96 3
stats reset 清空统计数据
stats reset
RESET
3.9 flush_all
flush_all 是最后一个要介绍的命令。这个最简单的命令仅用于清理缓存中的所有名称/值对。如果您需要将缓存重置到干净的状态,则 flush_all 能提供很大的用处。下面是一个使用 flush_all 的例子:
1 2 3 4 5 6 7 8 9 10 11 |
|
追加与清除命令
3.10 append
append 将数据追加到当前缓存数据的之后,当缓存数据存在时才存储。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
|
3.11 prepend
prepend 将数据追加到当前缓存数据的之前,当缓存数据存在时才存储。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
|
memcached还有很多命令,比如对于存储为数字型的可以通过incr/decr命令进行增减操作等等,这里只列出开发和运维中经常使用的命令,其他的不再一一举例说明。
위 내용은 Java의 일반적인 memcached 명령에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!