1,普通得set/get操作,set操作,如果键名存在,则会覆盖原有得值
$redis = app("redis.connection"); $redis->set('library' , 'phpredis');//存储key为library ,值phpredis得记录 $redis->get("library");//获取key为library得记录值 set/get 多个key-value $mkv = array( "user:001"=>'First user', "user:002"=>"Second user", "user:003"=>"Third user" ); $redis->mset($mkv); // 存储多个key对应的value $retval = $redis->mget( array_keys($mkv) );//获取多个key对应的value
2 , setex 存放带存储时效的记录
$redis->setex("library" , 10 , 'phpredis'); //存储key为library,值为phpredis的记录,有效时长为10秒 add操作,不会覆盖已有值 $redis->setnx("foo" , 12); //返回true, 添加成功 存在不做任何操作 否则创建 $redis->setnx('foo' , 34); //返回false ,添加失败,因为存在键名foo的记录
3, getset 是 set的变种,结果返回替换前的值
$redis->getset('foo' , 56);//返回12;如果之前不存在记录,则返回null
4,incrby/incr/decrby/decr对值得递增和递减
$redis->incr('foo'); //返回57 ,递增 阶梯为1 $redis->incrby('foo' , 2); //返回59 递增 阶梯为2
5, exists 检测是否存在 存在返回1 否则返回0
$redis->exists("foo");
6,type 类型检测,字符串返回 string ,列表返回 list , set表返回 set/zset ,hash表返回 hash
$redis->type('foo');
7, append 连接到已存在字符串
$redis->get('str');//返回test $redis->append('str' , "_123");
8,setrange 部分替换操作,并返回字符串长度
$redis->setrange('str' , 0 , 'abc'); //返回3,第2个参数为0等同于set操作 $redis->setrange('str' , 2 , 'cd'); //返回4,表示从第2个字符后替换,这时‘str’ 为 ‘abcd’
9,substr 部分获取操作
$redis->substr('str' , 0 , 2);//返回abc 表示从第0个起,取到第2个字符串 $redis->strlen('str'); // 返回4 此时‘str’ 为‘abcd’
10, setbit 位存储
$redis->setbit('library' , 31 ,1); // 表示在第31位存入1 getbit 位获取 $redis->getbit('library' , 31); //返回1
11, keys 模糊查找功能,支持 * 号 以及 ?号 (匹配一个字符)
$redis->set('foo1',123); $redis->set('foo2' , 456); $redis->keys('foo*'); //返回foo1和foo2的array $redis->keys('f?0?'); // 同上
12, randomkey 随机返回一个key
$redis->randomkey(); //可能是返回‘foo1’ 或者是foo2 及其它任何已存在的key
13, rename/renamenx 方式对key进行改名,所不同的是renamenx不允许改成已存在的key
$redis->rename('str','str2'); // 把原先命名为 str 的key改成了 str2
14,expire 设置key-value的时效性
ttl 获取剩余有效期
persist 重新设置为永久存储
$redis->expire('foo' , 10);//设置有效期为10秒 $redis->ttl('foo'); // 返回剩余有效期值10秒 $redispersist("fool");//取消有效期,变为永久存储