laravel reids 配置及使用

首先保证自己的reids是否启动成功,端口号是否正确

laravel 根目录composer require predis/predis安装predis 包

config/queue.php配置:

'redis' => [
    'driver' => 'redis',
    'connection' => 'default',
//  'queue' => env('REDIS_QUEUE', 'default'),
    'queue' => '{default}',
    'retry_after' => 90,
     'block_for' => null,
     'after_commit' => false,
]

confing/darabaes文件

'default' => [
            'url' => env('REDIS_URL'),
            'host' => env('REDIS_HOST', '127.0.0.1'),
            'password' => env('REDIS_PASSWORD', null),
            'port' => env('REDIS_PORT', '6379'),
            'database' => env('REDIS_DB', '0'),
        ],

.env文件

QUEUE_CONNECTION=redis

REDIS_HOST=127.0.0.1
REDIS_PASSWORD=null
REDIS_PORT=6379

字符串类型

  public function testStringRedis()
    {
        // 字符串类型
//        $redis = Redis::connection();
//        $redis->set("string_name", "我是字符串类型的值");
//        dd($redis->get("string_name"));

        // 设置有效期,单位是秒(S)
//        $redis = Redis::connection();
//        $redis->setex('string_name', 50, '我是字符串类型的值s'); // 设置有效期为50秒的键值
//        dd($redis->get("string_name"));

        // 设置有效期,但是是毫秒(ms) 50000/1000 = 50
//        $redis = Redis::connection();
//        $redis->psetex('string_name', 50000, '我是字符串类型的值ms'); // 设置有效期为50秒的键值
//        dd($redis->get("string_name"));

        // 带条件的存储
        // Redis Setnx(SET if Not eXists) 命令在指定的 key 不存在时,为 key 设置指定的值。
//        $redis = Redis::connection();
//        $redis->setnx('string_name', '我是字符串类型的值_setnx_1');
//        dd($redis->get("string_name"));

        // 删除
//        $redis = Redis::connection();
//        $redis->del('string_name');
//        dd($redis->get("string_name"));

        // 是否存在
        if (Redis::exists('string_name')) {
            $value = Redis::get("string_name");
            dd($value);
        } else {
            dd("从数据库里面取值");
        }
    }

hash类型

 // 测试redis的基础类型hash
    public function testHashRedis()
    {
        // hash
//        $redis = Redis::connection();
//        $redis->hset('test1', 'key1', 'v1');
//        $redis->hset('test1', 'key2', 'v2');
//        dd($redis->hget('test1', 'key1'));

        // 增加一个元素
//        Redis::hset("test", "key1", "v1_new");
//        dd(Redis::hget("test", "key3"));

        // 添加一个元素,判断
        //Redis::hsetnx("test", "key4", "v4");

        // hmset/hmget 存取多个元素到hash表
//        Redis::hmset('test', array('key5' => 'v5', 'key6' => 'v6'));
//        dd(Redis::hmget('test', array('key5', 'key6')));

        // 删除
        // Redis::hdel('test', 'key1');

        // 返回hash的长度
//        dd(Redis::hlen('test'));
        // 返回hash表中的所有key
//        dd(Redis::hkeys('test'));

        // 返回hash表中的所有value
//        dd(Redis::hvals('test'));

        // 获取 hash 中所有的key-value
//        dd(Redis::hgetall('test'));
        // 返回hash表中的指定key是否存在
        if (Redis::hexists('test', 'key1')) {
            dd(Redis::hget("test", "key1"));
        } else {
            dd("不存在,可以从数据库取");
        }
        dd(111);
    }

list类型

 // 测试redis的list类型
    public function testListRedis(){
        // 左添加 在左(头部)添加数据到list中  不存在时创建  返回值为添加元素后list的长度
//        Redis::lpush('list', 1);
//        Redis::lpush('list', 2);
//        Redis::lpush('list', 3);

        // 左添加 在左(头部)添加数据到list1中  不存在时不创建  返回0
//        Redis::lpushx('list1', 3);

        // 右添加, 在右(尾部)添加数据到list中  不存在时创建  返回值为添加元素后list的长度
//        Redis::rpush('list', 4);

        //在右(尾部)添加数据到list中  不存在时不创建  返回0
//        Redis::rpushx("list1", 3);

        // 从左(头部)取出list中数据 返回值为取出的数据 若不存在当前key的话,返回nul
        // 取出的是头部第一个元素,就删除了此元素
//        dd(Redis::lpop('list'));

        // 4.从右(尾部)取出list中数据 返回值为取出的数据
        // 取出的是尾部第一个元素,就删除了此元素
//        dd(Redis::rpop('list'));

        // 获取该key中所有数据 是个数组
//        dd(Redis::lrange('list', 0, -1));

        // 获取key为list的list集合中 索引为0的数据
//        dd(Redis::lindex('list', 0));

        // 将list集合中索引为0的value值改为3
//        Redis::lset("list", 0, 3);

        // 获取该list的长度
//        dd(Redis::llen('list'));

        // 只保留索引0到索引1的value值 其余的都删除
//        Redis::lpush('list', 4);
//        Redis::lpush('list', 5);
//        Redis::lpush('list', 6);
//        Redis::ltrim("list", 0, 1);

        // 删除list列表右边的最后一个元素将其追加到list1列表,list1不存在会创建  返回值为那个元素的value值
        Redis::rpoplpush('list','list1');
        dd(1111111);
    }

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值