redis初步

Redis

Redis 是键值对数据库。相对了关系型数据库而言,非关系型数据库更加贴近实际的代码实现。而关系型数据库一般还是用mysql,毕竟有开源,性能不错。相关内容在另外的系列中介绍。Redis一般是用在做缓存这一块。目前见到的项目实践中就是把相应的数据放在redis,在查mysql之前先查看redis,有则直接返回,也有更加细致的用redis实现的分布式锁来限制查找mysql的问题,防止缓存失效的瞬间,一个大的sql未查询到,则会有多个相同的sql查询,这个现象又被称为缓存击穿。

安装使用redis

  • mac 下 使用brew命令安装:brew install redis

  • redis-server 运行服务器

  • redis-cli 运行客户端

redis提供的结构

Redis内置了5种常用的数据结构。string是比较常见的,可以把value值用来存储json序列化后的值。

  • string 类型,普通的可以存储。

  • Hash Redis hash 是一个string类型的field和value的映射表,hash特别适合用于存储对象。Redis 中每个 hash 可以存储 232 - 1 键值对(40多亿)。

  • Redis列表是简单的字符串列表,按照插入顺序排序。 但是可以操作LPUSH 也可以操作右边RPUSH,所以可以在业务上实现队列等操作。

  • Redis 的 Set 是 String 类型的无序集合。集合成员是唯一的,这就意味着集合中不能出现重复的数据。

    Redis 中集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是 O(1)。集合中最大的成员数为 232 - 1 (4294967295, 每个集合可存储40多亿个成员)。 在需要做交集 并集等操作的时候使用set

  • 有序集合和集合一样也是string类型元素的集合,且不允许重复的成员。不同的是每个元素都会关联一个double类型的分数。redis正是通过分数来为集合中的成员进行从小到大的排序。有序集合的成员是唯一的,但分数(score)却可以重复。需要排序的时候可以使用该方法

    redis初步

redis 命令参考:http://redisdoc.com