PHP Redis的基础操作

PHP Redis的基础操作

<?php


$redis = new Redis();
//-------------------连接redis
$redis->connect('127.0.0.1', 6379);

//-------------------redis String 字符串操作

$redis->set('clown', 5);//设置字符串值

$redis->incr('clown', $redis->get('clown'));//增加字符串的值

$redis->decrBy('clown', 1);//减字符串值

echo $redis->get('clown');//输出字符串值

echo "<hr/>";
//-------------------redis String 字符串操作结束


//-------------------redis List 列表,消息队列处理
for($i=0; $i<100; $i++){
    $redis->lPush('list', $i);//左进,写入列表值
}
for($i=0; $i<100; $i++){
    echo $redis->rPop('list') . "|";//右出,输出列表值
}
echo "<hr/>";
//--------------------redis List 列表,消息队列处理结束

//--------------------redis Set 各不相同的元素(无序方式来存储不同的元素, 元素唯一)

$redis->sAdd('set', 1);//写入集合的值
$redis->sAdd('set', 2);//写入集合的值
$redis->sAdd('set', 10);
var_dump($redis->sCard('set'));//输出集合个数
if($redis->sIsMember('set', 10)){//查询集合中的值是否存在
    $redis->sRem('set', 10);//删除集合中的元素值
}

echo '|' .$redis->sCard('set');

echo "<hr/>";
//--------------------redis Set 各部相同元素结束(无序方式来存储不同的元素, 元素唯一)


//--------------------redis Hash 散列组 key-value 一次性查询
$redis->delete('student');//删除这个元素,保持元素干净
$redis->hSet("student", "name", "苏舒");//写入元素信息, 键是唯一的name (student元素, name键名(唯一), 苏舒值)
$redis->hSet("student", "age", 23);
$redis->hSet("student", "sex", "男");
echo "学生姓名: " . $redis->hGet("student", "name") . "<br>";//获取指定元素下的键值, 若键不存在,返回空
echo "学生信息长度: "  . $redis->hLen("student") . "<br>";//获取这个元素student下的键值长度, 不存在元素返回空
echo "学生信息详情内容";
echo "<pre>";
print_r($redis->hMGet("student", ['name', 'age', 'sex']));//获取元素下的键值(若不存在键值,输出键名,键值未空)
$redis->delete('hash');//删除元素
$redis->hMset("hash", ['test1' => 1, 'test2' => 2, 'test3' => 3]);//相当于一次性写入多个值(设置 key 指定的哈希集中指定字段的值。该命令将重写所有在哈希集中存在的字段。如果 key 指定的哈希集不存在,会创建一个新的哈希集并与 key 关联)
print_r($redis->hMGet("hash", ['test1', 'test2', 'test3']));//获取元素下的键值(若不存在键值,输出键名,键值未空)

echo "<hr>";
//---------------------redis Hash 散列组 key-value 一次性查询结束



//---------------------redis Sort set 有序集合 集合排序(如果数值一样,则按序号进行排序), 用于排行榜

$redis->delete('sort');//删除元素,保持元素干净
$redis->zAdd("sort", "10", "sort0");//写入,sort代表元素值,10代表写入的值,sort1代表键名(键名唯一)
$redis->zAdd("sort", "11", "sort1");//写入,sort代表元素值,10代表写入的值,sort1代表键名(键名唯一)
$redis->zAdd("sort", "12", "sort2");//写入,sort代表元素值,10代表写入的值,sort1代表键名(键名唯一)
$redis->zAdd("sort", "12", "sort3");//写入,sort代表元素值,10代表写入的值,sort1代表序号(键名唯一)
$redis->zAdd("sort", "13", "sort3");//如果键名相同,先写入的值将会被覆盖
echo "获取集合长度为: " . $redis->zCard("sort") . "<br/>";//获取集合长度
echo "获取sort3的排行为: " . $redis->zRank("sort", "sort3") . "<br/>";//获取某一个键名的排名
print_r($redis->zRange("sort",0, 3, true));//获取排名数组,不填写第四个参数只返回键名, 填写第四个参数为true返回key=>value的形式的数组(value值从小到大)
echo "<br>";

print_r($redis->zRevRange("sort",0,3, true));//获取前n名(根据value值的从大到小)


//---------------------redis Sort set 有序集合 集合排序(如果数值一样,则按序号进行排序), 用于排行榜 结束








评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值