redis数据类型以及使用场景

string  字符串类型,可以是int     用做缓存、计数器

<?php

//连接本地的 Redis 服务
$redis = new Redis();
$redis->connect('127.0.0.1', 6379);
echo "Connection to server sucessfully";
//设置 redis 字符串数据
$redis->set("tutorial-name", 1);
// 获取存储的数据并输出

var_dump($redis->get("tutorial-name"));     //string '1'
var_dump($redis->incr("tutorial-name"));    //int 2

hash    hash特别适合用于存储对象, 就是一个key存多个键值对。例如用户信息。string 类型可以存储对象序列化,将一个对象存储在 hash 类型中会占用更少的内存,并且可以更方便的存取整个对象

<?php

//连接本地的 Redis 服务
$redis = new Redis();
$redis->connect('127.0.0.1', 6379);
echo "Connection to server sucessfully";echo '<br>';

//给hash表中某个key设置value
//如果没有则设置成功,返回1,如果存在会替换原有的值,返回0,失败返回0
echo $redis->hset('myhash', 'cat1', 'cat');echo '<br>';         //1
echo $redis->hset('myhash', 'cat1', 'cat');echo '<br>';         //0
echo $redis->hset('myhash', 'cat1', 'cat1');echo '<br>';        //0
echo $redis->hset('myhash', 'dog1', 'dog');echo '<br>';         //1
echo $redis->hset('myhash', 'bird1', 'bird');echo '<br>';       //1
echo $redis->hset('myhash', 'monkey1', 'monkey');echo '<br>';   //1
//获取hash中某个key的值
echo $redis->hget('myhash', 'cat1');echo '<br>';                //cat1
echo $redis->hget('myhash', 'dog1');echo '<br>';                //dog

list    简单的字符串列表,按照插入顺序排序。队列

set     无序集合。一堆不重复值的组合。Redis还为集合提供了求交集、并集、差集等操作。在微博应用中,可以将一个用户所有的关注人存在一个集合中,将其所有粉丝存在一个集合。实现如共同关注、共同喜好、二度好友等功能

<?php

//连接本地的 Redis 服务
$redis = new Redis();
$redis->connect('127.0.0.1', 6379);
echo "Connection to server sucessfully";echo '<br>';

//集合
// 添加一个元素
echo $redis->sadd('myset1', 'cat');echo '<br>';         //1
echo $redis->sadd('myset1', 'cat');echo '<br>';         //0
echo $redis->sadd('myset1', 'dog');echo '<br>';         //1
echo $redis->sadd('myset1', 'rabbit');echo '<br>';      //1
echo $redis->sadd('myset1', 'bear');echo '<br>';        //1
echo $redis->sadd('myset1', 'horse');echo '<br>';       //1

// 查看集合中所有的元素
$set = $redis->smembers('myset1');
echo "<pre>";
print_r($set);echo '<br>';

/*Array
(
    [0] => dog
    [1] => bear
    [2] => rabbit
    [3] => cat
    [4] => horse
)*/

sset    有序集合。一堆不重复值的有序组合。做排行榜比较好

猜你喜欢

转载自blog.csdn.net/weixin_38230961/article/details/82684109