Redis基本知识总结

Redis 概念

Redis是一种基于键值对(key-value)的NoSQL数据库。比一般键值对数据库强大的地方,Redis中的value支持string(字符串)、hash(哈希)、 list(列表)、set(集合)、zset(有序集合)、Bitmaps(位图)、 HyperLogLog、GEO(地理信息定位)等多种数据结构,因此 Redis可以满足很多的应用场景。

Redis 常用场景

  • 缓存

    redis 应用最广泛地方, 基本所有的Web应用都会使用Redis 作为缓存, 提高响应速度

  • 计数器

    Redis支持计数功能 经常用来记录浏览量,点赞量等等

  • 排行榜

    利用Redis 的 列表和有序集合数据结构, 合理地使用可以方便构建各种排行榜系统

  • 社交网络

    社交网络的 粉丝 点赞 踩 共同好友 喜好 推送 下拉刷新等

  • 消息队列

    消息队列 Redis提供了发布订阅功能和阻塞队列的功能,可以满足一般消息队列功能

  • 分布式锁

    分布式锁 分布式环境下,利用Redis实现分布式锁,也是Redis常见的应用

  • ……

Redis 数据结构

String

字符串主要有以下几个典型使用场景:

  • 缓存功能
  • 计数
  • 共享session
  • 限速
  • 字符串类型的值实际可以是字符串,数字 二进制 不能超过521MB

Hash

哈希类型是指键值本身又是一个键值对结构.
哈希主要有一下典型应用场景:

  • 缓存用户信息
  • 缓存对象

List

列表类型是用来存储多个有序的字符串,列表是一种比较灵活的数据结构,它可以充当栈和队列的角色

列表主要有一下几种使用场景:

  • 消息队列
  • 文章列表

Set

集合 类型也是用来保存多个字符串元素, 但和列表类型不一样的是, 集合中不允许有重复元素,并且集合中的元素是无序的.

集合主要使用场景:

  • 标签(tag)
  • 共同关注

sorted set

有序集合中的元素可以排序, 但是它和列表使用索引下标作为排序依据不同的是, 她给每个元素设置一个权重(score)作为排序的依据。

有序集合主要应用场景:

  • 用户点赞统计
  • 用户排序

Bitmap

Bitmap 底层存储的是一种二进制格式的数据,在一些特定场景下,用该类型能够极大的减少存储空间,因为存储的数据只能是0和1。

主要应用场景:

  • 签到记录