php连接redis的方法

编辑: admin 分类: mysql 发布时间: 2023-06-10 来源:互联网

php 连接redis

   $redis = new Redis();
   $redis->connect('127.0.0.1', 6379);
   echo "Connection to server successfully";
   //查看服务是否运行
   echo "Server is running: " . $redis->ping();
登录后复制

1. 设置 key / value 检查key 是否存在 删除key 修改key

   $redis->set('db',"redis"); // 设置键值
   $redis->set('db',"redis1111"); // 覆盖旧的键值
   $c = $redis->exists('db'); // 检查键值是否存在, 返回的是 1  。不错在返回的是0
   $redis->del('db');// 删除键值
   $a =  $redis->get('db');//删除键值之后返回的 false
登录后复制

2. 设置按秒过期时间 / 设置具体的过期时间 / 移除过期时间 / 检查剩余多少时间过期

   $redis->set('db',"redis"); // 设置键值
   $redis->expire('db',10);  # 设置1秒后过期
   $time = time();
   $redis->set('cache','www.google.com');
   $redis->expireat('cache',$time); # 设置具体的日期时间 10 位时间戳
   $redis->persist('cache'); // 移除该键值的过期的时间
   $redis->ttl('cache');// 检查该键值还剩余多少时间才过期, 没有过期时间的话 返回 -1 有过期时间返回 数字 单位 秒
   $redis->pttl('cache');// 以毫秒为单位返回
登录后复制

3. 查找出 redis 中 符合条件的 keys 值 / 获取所有的key

   $redis->set('db',"redis"); // 设置键值
   $redis->set('cache','www.google.com');// 设置键值
   $redis->set('ad','www.google.com');// 设置键值
   $redis->set('adb','www.google.com');// 设置键值
   $a = $redis->keys('*d*'); // 类似于sql  的like。 在这里可以是  *d*,*d,d*
   $allKeys = $redis->keys('*'); // 获取所有的key
登录后复制

4. 键值的迁移, 从一个数据库迁移到另外一个数据库,如果已存在就不会迁移成功

   $redis->select(0); // 选择数据redis 数据库 0
   $redis->set('db2','test1');//设置键值对
   $redis->move('db2',1); // 将数据0 的键值 db1 迁移到  数据库  1 中
   $b = $redis->get('db2'); 
   $redis->select(1); // 链接数据库 1
   $a = $redis->get('db1'); // 获取数据库 1 里的 键值对的值, 这个时候是获取的到的,
   //如果数据库1 已经存在了键值,那么会迁移失败,遵循 原子性, 保持原先的状态
登录后复制

5. 随机返回一个key 的值 / 修改key的名称( rename 和 renamex 是差不多的, renamex 在修改一个不存在的key 会报错 )

   $redis->set('a',"1886..."); 
   $redis->set('b',"2886...");
   $redis->set('c',"3886...");
   $redis->set('d',"4886...");
   $redis->rename('a','aacd'); // 将 key   a  修改成  aacd , key  a 则不存在了
   $c = $redis->get('a');
   $d = $redis->get('aacd');
   $b = $redis->randomkey(); // 随机返回一个 key
登录后复制

6. 判断 key 对应的 值的 类型

//none(key不存在) int(0)
    //string(字符串) int(1)
    //list(列表) int(3)
    //set(集合) int(2)
    //zset(有序集) int(4)
    //hash(哈希表) int(5)
   $redis->set('a','adasdasdasdasdd');
   $a = $redis->TYPE('a'); // 返回的是 1 数字 , 自己要核对上面的注释,才可以知道是哪个类型
登录后复制【本文来自:台湾服务器 http://www.558idc.com/tw.html 复制请保留原URL】