php memcached methods are: 1. set(); 1. add(); 3. replace(); 4. get(); 5. delete(); 6. increment(); 7. decrement (); 8. flush(); 9. connect() and so on.
The operating environment of this tutorial: windows7 system, PHP7.1 version, DELL G3 computer
PHP operates Memcached Summary of methods
(1) memcache extension
1, bool Memcache::set ( string $key
, mixed $var
[, int $flag
[, int $expire
]] )
#Update the value if the Key exists, and set the k-v pair if it does not exist. Note: $var can store any data
2, bool Memcache::add ( string $key
, mixed $var
[, int $flag
[, int $expire
]] )
#Add only when key does not exist
3, bool Memcache: :replace ( string $key
, mixed $var
[, int $flag
[, int $expire
]] )
#Replace the existing key value. If the key does not exist, an error will be returned.
4, string Memcache::get ( string $key
[, int &$flags
] )
array Memcache::get ( array $keys
[, array &$flags
] )
#Get one or more values
5, bool Memcache::delete ( string $key
[, int $timeout
= 0 ] )
#Delete the key element. If timeout is set, how many seconds will it take to delete it?
#[Note] Some versions corresponding to memcached using timeout will cause the deletion to fail. (0 is OK)
6, int Memcache::increment ( string $key
[, int $value
= 1 ] )
#If the key exists and can be converted to a number, add int; otherwise, directly replace it with value. When the key does not exist, return false
7, int Memcache::decrement ( string $key
[, int $value
= 1 ] )
8, bool Memcache::flush (void)
#All elements are invalid
9, bool Memcache::connect ( string $host
[, int $port
[, int $timeout=1
]] )
#Connect to the memcache server , it will automatically close after executing the script (use close to actively close)
10, bool Memcache::close (void)
#Close the memcache link (this The function will not close the persistent connection)
11. mixed Memcache::pconnect ( string $host
[, int $port
[, int $timeout
]] )
#Establish a persistent connection
12, bool Memcache::addServer ( string $host
[, int $port
= 11211 [, bool $persistent
[, int $weight
[, int $timeout
[, int $retry_interval
[, bool $status
[, callback
$failure_callback
[, int $timeoutms
]] ]]]]]] )
#Add a server to the connection pool. The service opened through this method will be closed or actively closed when the script ends. close
#Use this Method, the network connection does not necessarily connect immediately, but will not be connected until the server needs to be used, so there is no overhead even if a large number of servers are added to the connection pool
Parameters:
$persistent
Whether to persist, the default is true
$weight
Indicates the weight
$retry_interval
The retry time when the server connection fails, the default is 15 seconds, -1 means no retry
$status Controls whether this server is marked as online (if The connection fails and one server is missing from the connection pool, which will affect the original allocation algorithm)
$failure_callback
Function executed after the connection fails (executed before failover), including Two parameters, failed host host and port
13, array Memcache::getExtendedStats ([ string $type
[, int $slabid
[, int $limit
= 100 ]]] )
#getExtendedStats() returns a two-dimensional associated data server statistics
#getExtendedStats(' slabs') to obtain the ID of the active slabs blocks on each server
#getExtendedStats('cachedump', $slabid, $limit) to obtain the cached items in each slab
Parameters:
#type The type of statistical information expected to be captured. The values that can be used are {reset, malloc, maps, cachedump, slabs, items, sizes}
#slabid Used with parameterstype
Jointly copies data from the specified slab in blocks. The cachedump command will completely occupy the server and is usually used for strict debugging.
#limit is used in conjunction with the parameter type
to set the number of entities obtained from the server during cachedump.
14, int Memcache::getServerStatus ( string $host
[, int $port
= 11211 ] )
#Return a The status of the server, 0 means the server is offline, non-0 means online.
15、array Memcache::getStats ([ string $type
[, int $slabid
[, int $limit
= 100 ]]] )
#getStats()Returns a server statistics of associated data. Same as above
16, string Memcache::getVersion (void)
#Return version number
17, bool Memcache::setCompressThreshold (int $threshold
[, float $min_savings
] )
#Enable automatic compression for large values
Parameters:
#threshold Controls the threshold value for automatic compression.
#min_saving Specifies the compression ratio of the actual stored value after compression. The supported value must be between 0 and 1. The default value is 0.2, which means 20% compression rate
18, bool Memcache::setServerParams ( string $host
[, int $port
= 11211 [, int $timeout
[, int $retry_interval
= false [, bool $status
[, callback $failure_callback
]]] ]] )
# Used to modify server parameters during runtime
# Parameters are the same as above
##(2) memcached extension
1,Memcached::__construct ([ string $persistent_id ] )
persistent_id. All instances created with the same
persistent_id value share the same connection.
<?php # 创建一个普通的对象 $m1 = new Memcached(); echo get_class($m); /* 创建持久化对象 */ $m2 = new Memcached('story_pool'); $m3 = new Memcached('story_pool'); # 现在$m2和$m3共享相同的连接 ,可以使用isPresistent进行检测 ?>2. public bool
Memcached::addServer( string $host , int
$port [, int
$weight = 0 ] )
Memcached::addServers (array $servers)
Memcached::cas( float $cas_token ,
string
$key , mixed
$value [, int
$expiration] )
value of the current client, this key
When the corresponding value has not been modified by other clients,
Only then can the value be written. Check through cas_token parameters
Memcached::casByKey (float $cas_token,
string
$server_key, string
$key, mixed
$value [, int
$expiration] )
Memcached::set( string $key, mixed
$value [, int
$expiration] )
Memcached::setByKey ( string $server_key, string
$key , mixed
$value [, int
$expiration] )
Memcached::setMulti (array $items [, int
$expiration ] )
Memcached::setMultiByKey ( string $server_key, array
$items [, int
$expiration] )
Memcached::add( string $key, mixed
$value [, int
$expiration] )
Memcached::addByKey( string $server_key, string
$key , mixed
$value [, int
$expiration] )
Memcached::touch( string $key, int
$expiration)
Memcached::touchByKey( string $server_key, string
$key , int
$expiration)
Memcached::append ( string $key , string
$value )
value string value corresponding to the parameter to the existing element
注意:如果Memcached::OPT_COMPRESSION常量开启,这个操作会失败,并引发一个警告,因为向压缩数据后追加数据可能会导致解压不了。
<?php $a = new Memcached(); $a->addServer('192.168.95.11', 11211); #$a->addServer('192.168.95.11', 11210); #$a->setOption(Memcached::OPT_COMPRESSION, false); $b=$a->append('e','popop'); echo "<pre class="brush:php;toolbar:false">"; print_r($b); echo "";die; ?>
15、public bool Memcached::appendByKey ( string $server_key
, string $key
, string $value
)
#向指定服务器已经存在的元素后追加value
参数对应的字符串值
16、public bool Memcached::prepend( string $key
, string $value
)
#向一个已存在的元素前面追加数据
17、public bool Memcached::prependByKey( string $server_key
, string $key
, string $value
)
#向指定服务器已经存在的元素前追加value
参数对应的字符串值
18、public bool Memcached::replace ( string $key
, mixed $value
[, int $expiration
] )
#替换已存在key下的元素
19、public bool Memcached::replaceByKey( string $server_key
, string $key
, mixed $value
[, int $expiration
] )
#替换指定服务器的key下的元素
20、public int Memcached::decrement ( string $key
[, int $offset
= 1 ] )
#减小数值元素的值
#不存在key返回错误、减到小于0结果为0、元素不是数值以0对待
21、public int Memcached::decrementByKey( string $server_key
, string $key
[, int $offset
= 1 [, int $initial_value
= 0 [, int $expiry
= 0 ]]] )
#指定服务器减小数值元素的值,不存在的key则初始化为0
22、public int Memcached::increment ( string $key
[, int $offset
= 1 ] )
#增加数值元素的值
23、public int Memcached::incrementByKey( string $server_key
, string $key
[, int $offset
= 1 [, int $initial_value
= 0 [, int $expiry
= 0 ]]] )
#同上
24、public bool Memcached::delete( string $key
[, int $time
= 0 ] )
#删除一个元素
#设置时间后,表明在time时间后才删除,在这段时间内get、add、replace命令对该key都无效。
25、public bool Memcached::deleteByKey ( string $server_key
, string $key
[, int $time
= 0 ] )
#同上
26、public bool Memcached::deleteMulti ( array $keys
[, int $time
= 0 ] )
#删除多个key
27、public bool Memcached::deleteMultiByKey( string $server_key
, array $keys
[, int $time
= 0 ] )
#同上
28、public bool Memcached::flush([ int $delay
= 0 ] )
#让所有缓冲区的数据失效
29、public mixed Memcached::get( string $key
[, callback $cache_cb
[,
float &$cas_token
]] )
#检索一个元素
#$callback 回调函数,没有$key之值时,将会调用这个函数,会传入三个参数memcache对象、key、引用传递变量的返回值(true时返回)
#$cas_token 配合cas使用。同一个客户端最后一个get将会生成一个64位唯一标识符存储,然后使用cas来查看更改,假若在此过程中被其他客户端修改则,返回false
30、public mixed Memcached::getByKey( string $server_key
, string $key
[, callback $cache_cb
[,
float &$cas_token
]] )
#从特定的服务器检索元素
31、public mixed Memcached::getMulti( array $keys
[, array &$cas_tokens
[, int $flags
]] )
#检索多个元素,提供$cas值,则添加cas值
#$flags 只能为Memcached::GET_PRESERVE_ORDER,保证返回的key的顺序和请求时一致。
32、public array Memcached::getMultiByKey ( string $server_key
, array $keys
[, string &$cas_tokens
[, int $flags
]] )
#从特定服务器检索多个元素
33、public array Memcached::getAllKeys( void )
# Gets the keys stored on all the servers
34、public bool Memcached::getDelayed( array $keys
[, bool $with_cas
[,
callback $value_cb
]]
)
#Request keys from the server. This method does not wait for the response but returns bool immediately. Use fetch and fetchAll to collect the results.
#$with_cas When true, it means that the cas value is recorded at the same time
#$value_cb
Result callback function processing
35, public bool Memcached::getDelayedByKey( string $server_key
, array $keys
[, bool $with_cas
[,
callback $value_cb
]]
)
#Request multiple keys from the specified server
36, public array Memcached::fetch (void)
#From the last request to grab the next result.
37, public array Memcached::fetchAll(void)
#Fetch all remaining results
38, public mixed Memcached ::getOption( int $option
)
#Get the Memcached option value
# One of the OPT_* series constants.
39, public bool Memcached::setOption( int $option
, mixed $value
)
#Set one memcached options
40, public bool Memcached::setOptions( array $options
)
#Set multiple memcached options
41. public int Memcached::getResultCode(void)
#Returns the result code of the last operation
42. public string Memcached::getResultMessage( void )
#Return the result description message of the last operation
43, public array Memcached::getServerByKey( string $server_key
)
#Get the server information mapped by key
44, public array Memcached::getServerList(void)
#Get the server in the server pool Table
45, public array Memcached::getStats (void)
#Get statistical information in the server pool
46, public array Memcached::getVersion( void )
#Get all server version information in the server pool
47, public bool Memcached::isPersistent( void )
#Test whether the server is permanently connected
48, public bool Memcached::isPristine (void)
#Test whether memcache is recently created
49, public bool Memcached::quit (void)
#Close the connection
50, public bool Memcached::resetServerList( void )
#Reset the server service information of all servers
51, public void Memcached::setSaslAuthData( string $username
, string $password
)
#Set the credentials to use for authentication
(The above are the notes I compiled while referring to the manual to learn memcached, and I will also post them by the way. Well, if there are any deficiencies or errors, please point them out)
Recommended learning: "PHP Video Tutorial"
The above is the detailed content of What are the php memcached methods?. For more information, please follow other related articles on the PHP Chinese website!

The article compares ACID and BASE database models, detailing their characteristics and appropriate use cases. ACID prioritizes data integrity and consistency, suitable for financial and e-commerce applications, while BASE focuses on availability and

The article discusses securing PHP file uploads to prevent vulnerabilities like code injection. It focuses on file type validation, secure storage, and error handling to enhance application security.

Article discusses best practices for PHP input validation to enhance security, focusing on techniques like using built-in functions, whitelist approach, and server-side validation.

The article discusses strategies for implementing API rate limiting in PHP, including algorithms like Token Bucket and Leaky Bucket, and using libraries like symfony/rate-limiter. It also covers monitoring, dynamically adjusting rate limits, and hand

The article discusses the benefits of using password_hash and password_verify in PHP for securing passwords. The main argument is that these functions enhance password protection through automatic salt generation, strong hashing algorithms, and secur

The article discusses OWASP Top 10 vulnerabilities in PHP and mitigation strategies. Key issues include injection, broken authentication, and XSS, with recommended tools for monitoring and securing PHP applications.

The article discusses strategies to prevent XSS attacks in PHP, focusing on input sanitization, output encoding, and using security-enhancing libraries and frameworks.

The article discusses the use of interfaces and abstract classes in PHP, focusing on when to use each. Interfaces define a contract without implementation, suitable for unrelated classes and multiple inheritance. Abstract classes provide common funct


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Safe Exam Browser
Safe Exam Browser is a secure browser environment for taking online exams securely. This software turns any computer into a secure workstation. It controls access to any utility and prevents students from using unauthorized resources.

MantisBT
Mantis is an easy-to-deploy web-based defect tracking tool designed to aid in product defect tracking. It requires PHP, MySQL and a web server. Check out our demo and hosting services.

SecLists
SecLists is the ultimate security tester's companion. It is a collection of various types of lists that are frequently used during security assessments, all in one place. SecLists helps make security testing more efficient and productive by conveniently providing all the lists a security tester might need. List types include usernames, passwords, URLs, fuzzing payloads, sensitive data patterns, web shells, and more. The tester can simply pull this repository onto a new test machine and he will have access to every type of list he needs.

ZendStudio 13.5.1 Mac
Powerful PHP integrated development environment