zoukankan      html  css  js  c++  java
  • Redis如何保存数组和对象

    个人建议使用PHP自带的序列化函数serialize和unserialize函数

    我们可以封装一个自己的Redis类

    <?php
    class MyRedis{
        private static $handler;
    
        private static function handler(){
            if(!self::$handler){
                self::$handler = new Redis();
                self::$handler -> connect('127.0.0.1','6379');
            }
            return self::$handler;
        }
    
        public static function get($key){
            $value = self::handler() -> get($key);
            $value_serl = @unserialize($value);
            if(is_object($value_serl)||is_array($value_serl)){
                return $value_serl;
            }
            return $value;
        }
    
        public static function set($key,$value){
            if(is_object($value)||is_array($value)){
                $value = serialize($value);
            }
    
            return self::handler() -> set($key,$value);
        }
    
    }

    调用测试

    <?php
    require_once 'MyRedis.php';
    
    class MyObj{
        public function rTime(){
            return time();
        }
    }
    
    $arr = array(1,2,3);
    $obj = new MyObj();
    $str = ' My name is Jeffrey.';
    
    MyRedis::set('arr',$arr);
    MyRedis::set('obj',$obj);
    MyRedis::set('str',$str);
    
    $_arr = MyRedis::get('arr');
    $_obj = MyRedis::get('obj');
    $_str = MyRedis::get('str');
    var_dump($_arr); var_dump($_obj->rTime()); var_dump($_str);
  • 相关阅读:
    生成随机数
    ES集群开启X-pack认证
    部署ceph
    分布式存储ceph理论
    kvm虚拟机迁移
    kvm虚拟机网络管理
    kvm虚拟机存储管理
    机电传动控制个人课程报告
    第11周机电传动控制作业
    补充第九周手工画图
  • 原文地址:https://www.cnblogs.com/xiaozong/p/5666294.html
Copyright © 2011-2022 走看看