在
redis`中字符串是二进制安全的,可以存储任何东西,最大长度可达512M。
命令规则
- 设置:
SET key value
- 批量设置:
MSET key1 value1[ key2 value2]
- 获取:
GET key
- 批量获取:
MGET key1 [key2]
- 长度:
STRLEN key
, 获取key
对应值的字符串的长度。 - 附加:
APPEND key value
, 如果key
存在命令将参数value
的数据追加到已存在的value
的末尾并返回长度。如果不存在,将创建一个新的key/value
并返回长度 - 设置有效期:
SETEX key seconds value
设置key
的值为value
并指定在服务器中的存活时间seconds(秒) - 不存在则设置:
SETNX key value
当服务器中不存在键key
时则设置key
的值为value
,否则不做任何操作并返回0 - 批量不存在设置:
MSETNX key1 value1 [key2 value2]
与 SETNX类似区别在于 有如果有一个键已存在那么所有设置都会回滚 - 替换部分字符串:
SET RANGE key offset value
将键key
的值从offset位置开始替换为value替换的长度为value
的长度,如果offsset的值大于原值的长度则在原值后补刘0x00后再追加新值value - 获取子串:
GET RANGE key start end
- 递增:
INCR key
- 递减:
DECR key
- 增长指定值:
INCRBY key step
- 减少指定值:
DECRBY key step
例 :
<?php
//默认php操作都已有Redis实例且连接成功
$redis = new Redis();
$redis->connect("127.0.0.1",6379);
// SET
redis 127.0.0.1:6379 > SET name AMH #将字符中值`AMH`存储在键`name`上
OK
<?php
$redis->set("name","AMH");
// GET
redis 127.0.0.1:6379 > GET name #取得键`name`中存储的字符串值
"AMH"
<?php
$redis->get("name");
// STRLEN
redis 127.0.0.1:6379 > STRLEN name #获取键名为`name`对应值的长度
(integer) 3
<?php
$redis->strlen("name");
// APPEND
redis 127.0.0.1:6379 > APPEND name "-APPEND" #在键为name的字符串上附加字符串-APPEND
(integer)10 #返回附加字坐串之后的值长度
redis 127.0.0.1:6379 > GET name
"AMH-APPEND"
<?php
$redis->append("name","-APPEND");