PHP Redis的运用篇(二)

PHP Redis的运用篇(二)

从开始使用数据库MySQL、Oracle、SqlServer、SQLite等,后面接触到了Redis、MongoDB等非结构数据库,最初从网络上查了很多的资料,但是大多都是理论知识,对于刚入门的我来说完全在看天书,后面去看了官网代码结合项目的开发慢慢的熟悉起来,今天我分享几个常用的操作

(一)hSet和hGet的使用,官方解释:为哈希表中的字段赋值,简单理解:创建一个表,往表里添加数据,同时可以通过key值修改数据

在这里插入图片描述
存储数据:hSet(“test_s”, “3”, json)
test_s:键值,定位存储的数据位置
3:数据的key值,定位数据的id
json: 存入数据信息,我一般存入json
查询指定数据:hGet(“test_s”, “3”)
查询所有的数据:hGetAll(“test_s”)

<?php

//Redis初始化类
if(extension_loaded('redis')) {
    
    
    $redis = new \Redis();
    $redis->connect("127.0.0.1", "6379");
    $redis->auth("");

    //Rpush
    //首先先选择库,不选择默认db0库,一般Redis安装默认15个db库,
    //有一些特殊需求,配置有几百个db,我之前项目就遇到Redis有180个db库
    $redis->select(6); //选择 6号库

    $value = array(
        "id"  =>1,
        "name"=>"test1",
        "age" =>15
    );
    $json  = json_encode($value, JSON_UNESCAPED_UNICODE);
    $redis->hSet("test_s", "3", $json);

    //查询指定数据数据
    var_dump($redis->hGet("test_s", "3"));
    //查询所有数据
    var_dump($redis->hGetAll("test_s"));
}else{
    
    
    echo "没有安装Redis扩展";
}

(二)setex使用,存储有时间限制的数据,当时间超过了限制的时间,自定删除
在这里插入图片描述
setex(“test_s”, 60, $json);
test_s:键值
60:秒,当插入数据时间大于60秒,Redis会自动删除数据
$json:我一般存储json数据

<?php
//Redis初始化类
if(extension_loaded('redis')) {
    
    
    $redis = new \Redis();
    $redis->connect("127.0.0.1", "6379");
    $redis->auth("");

    //Rpush
    //首先先选择库,不选择默认db0库,一般Redis安装默认15个db库,
    //有一些特殊需求,配置有几百个db,我之前项目就遇到Redis有180个db库
    $redis->select(6); //选择 6号库

    $value = array(
        "id"  =>1,
        "name"=>"test1",
        "age" =>15
    );
    $json  = json_encode($value, JSON_UNESCAPED_UNICODE);
    $redis->setex("test_s", 60, $json);

    //查询数据
    var_dump($redis->get("test_s"));
}else{
    
    
    echo "没有安装Redis扩展";
}

(二)zAdd:将一个或多个成员元素及其分数值加入到有序集当中,简单来说,将数据进行从小到大的排序
在这里插入图片描述

<?php

//Redis初始化类
if(extension_loaded('redis')) {
    
    
    $redis = new \Redis();
    $redis->connect("127.0.0.1", "6379");
    $redis->auth("");

    //Rpush
    //首先先选择库,不选择默认db0库,一般Redis安装默认15个db库,
    //有一些特殊需求,配置有几百个db,我之前项目就遇到Redis有180个db库
    $redis->select(6); //选择 6号库
    $redis->zAdd("test_s", 1, "张山");
    $redis->zAdd("test_s", 2, "李四");
    $redis->zAdd("test_s", 3, "王二");
    $redis->zAdd("test_s", 4, "麻子");

    //查询数据
    var_dump($redis->zRange("test_s", 0, 10)); //0:查询数据的开始(列表的下标),10:查询数据的最大条数
}else{
    
    
    echo "没有安装Redis扩展";
}

猜你喜欢

转载自blog.csdn.net/qq_22183039/article/details/128800545