【攻克Redis】Redis基本知识

本文涉及的产品
云数据库 Redis 版,社区版 2GB
推荐场景:
搭建游戏排行榜
简介: 【攻克Redis】Redis基本知识 发展史 Redis是一种基于键值对的Nosql数据库,Redis值可以是string(字符串)、hash(哈希)、list(列表)、set(集合)、zset(有序集合)、Bitmaps(位图)、 HyperLogLog、GEO(地理信息定位)等多种数据结构和算法组成 Redis会将所有数据都存放在内存 中,所以它的读写性能非常惊人。

【攻克Redis】Redis基本知识

发展史

  • Redis是一种基于键值对的Nosql数据库,Redis值可以是string(字符串)、hash(哈希)、list(列表)、set(集合)、zset(有序集合)、Bitmaps(位图)、 HyperLogLog、GEO(地理信息定位)等多种数据结构和算法组成
  • Redis会将所有数据都存放在内存 中,所以它的读写性能非常惊人。不仅如此,Redis还可以将内存的数据利 
    用快照和日志的形式保存到硬盘上,这样在发生类似断电或者机器故障的时 候,内存中的数据不会“丢失”
  • Redis提供了键过期、发布订阅、事务、流水线、Lua脚本等附加功能

特性

  1. 速度快(10万/秒) 
    • 所有数据存放在内存中
    • 用C语言实现,C语言“距离”操作系统更近
    • 单线程架构,防止多线程可能产生的问题
  2. 基于键值对的数据结构服务器 
    • 主要提供了5种数据结构:字符串、哈希、列表、集合、有序集合
    • 在字符串的基础之上演变 出了位图(Bitmaps)和HyperLogLog两种神奇的“数据结构”
    • Redis3.2版本中 加入有关GEO(地理信息定位)的功能
  3. 丰富的功能 
    • 提供了键过期功能,可以用来实现缓存。
    • 提供了发布订阅功能,可以用来实现消息系统。
    • 支持Lua脚本功能,可以利用Lua创造出新的Redis命令。
    • 提供了简单的事务功能,能在一定程度上保证事务特性。
    • 提供了流水线(Pipeline)功能,这样客户端能将一批命令一次性传到 Redis,减少了网络的开销。
  4. 简单稳定 
    • 源码代码量少
    • 单线程模型开发简单
    • 不需要依赖操作系统类库
  5. 客户端语言多 
    • Redis提供了简单的TCP通信协议,很多编程语言可以很方便地接入到 Redis
  6. 持久化 
    • 两种持久化方式:RDB和 AOF
  7. 主从复制 
    • Redis提供了复制功能,实现了多个相同数据的Redis副本(如图1-2所 示),复制功能是分布式Redis的基础
  8. 高可用和分布式

使用场景

可以做

  1. 缓存

    缓存提高访问速度,降低后端数据库压力,可以设置过期时间,对存储数据进行淘汰。

  2. 排行榜系统

    Redis提供了列表和有序集合数据结构,合理地使用这些数据结构可以很方便地构建各种排行榜系统。

  3. 计数器应用

    视频网站有播放数、电商网站有 浏览数,为了保证数据的实时性,每一次播放和浏览都要做加1的操作

  4. 社交网络

    赞/踩、粉丝、共同好友/喜好、推送、下拉刷新等

  5. 消息队列系统

    Redis提供了发布订阅功能和阻塞队列的功能,虽然和专业的消息队列比还不够足够强大,但是对于一般的消息队列功能基本可以满足。

不可以做

​ 每天产生的数据量特别大(上亿),redis存储经济成本笔记高;一些冷数据不适合存储。

原文地址  https://blog.csdn.net/zlt995768025/article/details/81872153
相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore     ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
相关文章
|
存储 NoSQL 算法
高并发核心技术Redis系列(三)--------基本知识(下)
在我们做站点流量统计的时候一般会统计页面UV(独立访客:unique visitor)和PV(即页面浏览量:page view)。
161 0
高并发核心技术Redis系列(三)--------基本知识(下)
|
存储 NoSQL Java
|
存储 JSON NoSQL
Redis的基本知识
简单了解一下Redis
195 0
Redis的基本知识
|
1月前
|
存储 NoSQL 算法
09- Redis分片集群中数据是怎么存储和读取的 ?
Redis分片集群使用哈希槽分区算法,包含16384个槽(0-16383)。数据存储时,通过CRC16算法对key计算并模16383,确定槽位,进而分配至对应节点。读取时,根据槽位找到相应节点直接操作。
66 12
|
1月前
|
NoSQL Linux Redis
06- 你们使用Redis是单点还是集群 ? 哪种集群 ?
**Redis配置:** 使用哨兵集群,结构为1主2从,加上3个哨兵节点,总计分布在3台Linux服务器上,提供高可用性。
368 0
|
2天前
|
存储 监控 NoSQL
Redis哨兵&分片集群
Redis哨兵&分片集群
7 0
|
3天前
|
NoSQL 算法 Java
深入浅出Redis(八):Redis的集群模式
深入浅出Redis(八):Redis的集群模式
|
9天前
|
NoSQL Redis
透视Redis集群:心跳检测如何维护高可用性
Redis心跳检测保障集群可靠性,通过PING命令检测主从连接状态,预防数据丢失。当连接异常时,自动触发主从切换。此外,心跳检测辅助实现`min-slaves-to-write`和`min-slaves-max-lag`策略,避免不安全写操作。还有重传机制,确保命令无丢失,维持数据一致性。合理配置心跳检测,能有效防止数据问题,提升Redis集群的高可用性。关注“软件求生”获取更多Redis知识!
115 10
透视Redis集群:心跳检测如何维护高可用性
|
11天前
|
监控 NoSQL 算法
Redis集群模式:高可用性与性能的完美结合!
小米探讨Redis集群模式,通过一致性哈希分散负载,主从节点确保高可用性。节点间健康检测、主备切换、数据复制与同步、分区策略和Majority选举机制保证服务可靠性。适合高可用性及性能需求场景,哨兵模式则适用于简单需求。一起学习技术的乐趣!关注小米微信公众号“软件求生”获取更多内容。
46 11
Redis集群模式:高可用性与性能的完美结合!