Redis一共有以下数据类型:
String类型:二进制安全,可以包含任何数据,比如图片或序列化的对象。常用操作:SET、GET、INCR、DECR、APPEND、STRLEN等。
示例代码:
// 连接 Redis
$redis = new Redis();
$redis->connect('127.0.0.1', 6379);
// 设置值
$redis->set('mykey', 'hello world');
// 获取值
$value = $redis->get('mykey');
echo $value; // 输出: hello world
// 自增
$redis->incr('counter'); // 返回 1
$redis->incr('counter'); // 返回 2
// 追加值
$redis->append('mykey', '!!!');
$value = $redis->get('mykey');
echo $value; // 输出: hello world!!!
Hash类型:键值对集合,适用于存储对象。常用操作:HSET、HGET、HMSET、HINCRBY、HDEL、HGETALL等。
示例代码:
// 连接 Redis
$redis = new Redis();
$redis->connect('127.0.0.1', 6379);
// 设置值
$redis->hset('myhash', 'field1', 'value1');
$redis->hset('myhash', 'field2', 'value2');
// 获取单个值
$value = $redis->hget('myhash', 'field1');
echo $value; // 输出: value1
// 获取所有键值对
$values = $redis->hgetall('myhash');
print_r($values); // 输出: Array ( [field1] => value1 [field2] => value2 )
List类型:链表,可用于实现队列或栈。常用操作:LPUSH、RPUSH、LPOP、RPOP、LLEN、LRANGE等。
示例代码:
// 连接 Redis
$redis = new Redis();
$redis->connect('127.0.0.1', 6379);
// 插入值
$redis->lpush('mylist', 'item1');
$redis->rpush('mylist', 'item2');
// 弹出值
$value = $redis->lpop('mylist');
echo $value; // 输出: item1
// 获取列表长度
$length = $redis->llen('mylist');
echo $length; // 输出: 1
// 获取列表所有元素
$values = $redis->lrange('mylist', 0, -1);
print_r($values); // 输出: Array ( [0] => item2 )
Set类型:无序集合,不允许重复元素。常用操作:SADD、SREM、SMEMBERS、SISMEMBER、SUNION等。
示例代码:
// 连接 Redis
$redis = new Redis();
$redis->connect('127.0.0.1', 6379);
// 添加值
$redis->sadd('myset', 'item1');
$redis->sadd('myset', 'item2');
// 移除值
$redis->srem('myset', 'item2');
// 获取所有值
$values = $redis->smembers('myset');
print_r($values); // 输出: Array ( [0] => item1 )