【redis】redis概述

1、定义

  • Redis(Remote Dictionary Server),即远程字典服务,是一个开源的、内存中的数据结构存储系统。
  • redis是一个key-value存储系统。
  • 和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hash(哈希类型)。
  • 为了保证效率,redis数据都是缓存在内存中。
  • redis可以用作数据库、缓存和消息中间件。
  • Redis使用ANSI C语言编写,支持网络,并提供了多种语言的API。

2、截至今天数据库排名

3、主要特点

  1. 高性能 :
    • Redis基于内存操作,因此读写速度非常快。
    • 官方测试数据表明,在100k个并发连接下,Redis的读取速度为110000次/s,写入速度为81000次/s(可能根据测试环境和版本有所不同)。
  2. 支持多种数据结构 :
    • Redis不仅支持简单的字符串类型的数据,还支持列表(list)、集合(set)、散列(hash)和有序集合(sorted set)等多种数据类型。
    • 这些数据类型都支持push/pop、add/remove及取交集、并集和差集等丰富的操作,且这些操作都是原子性的。
  3. 数据持久化:Redis提供了RDB和AOF两种持久化方式,可以将内存中的数据保存到磁盘中,以防止数据丢失。
  4. 主从复制 :
    • Redis支持主从复制,可以实现数据的备份和读写分离。
    • 一个主服务器可以有多个从服务器,从服务器可以复制主服务器的数据。
  5. 事务支持:Redis支持事务,即一组命令的执行是一个原子操作,在事务中的命令要么全部执行,要么全部不执行。
  6. 发布/订阅功能:Redis提供了发布/订阅功能,可以实现消息的发布和订阅,满足实时消息推送的需求。
  7. Lua脚本支持:Redis支持使用Lua脚本来执行复杂的逻辑,这可以提高处理效率。
  8. 简单易用 :
    • Redis提供了简单的API,使得开发者可以快速上手。
    • 支持多种语言,包括Java、C/C++、C#、PHP、JavaScript、Perl、Object-C、Python、Ruby、Erlang等。

3、主要用途

  • 缓存:配合关系型数据库做高速缓存
  • 计数器:进行自增自减运算
  • 时效性数据:利用expire过期,例如手机验证码功能
  • 海量数据统计:利用位图,存储用户是否是会员、日活统计、文章已读统计、是否参加过某次活动
  • 会话缓存:使用redis统一存储多台服务器用到的session信息
  • 分布式队列/阻塞队列:通过List双向链表实现读取和阻塞队列
  • 分布式锁: 使用redis自带setnx命令实现分布式锁
  • 热点数据存储:最新文章、最新评论,可以使用redis的list存储,ltrim取出热点数据,删除旧数据
  • 社交系统:通过Set功能实现,交集、并集实现获取共同好友,差集实现好友推荐,文章推荐
  • 排行榜:利用sorted-set的有序性,实现排行榜功能,取top n
  • 延迟队列:利用消费者和生产者模式实现延迟队列
  • 去重复数据:利用Set集合,去除大量重复数据 发布/订阅消息:pub/sub模式
相关推荐
ss2733 小时前
PostgreSQL常见索引问题与解决方案
数据库·postgresql
小徐不徐说3 小时前
序列化与反序列化:把 C++ 对象可靠地保存下来
开发语言·数据库·c++·php
瀚高PG实验室4 小时前
发布端逻辑复制槽消失
数据库·postgresql·瀚高数据库
ss2735 小时前
PostgreSQL慢查询定位与优化
数据库·postgresql
香蕉大香蕉(06敬畏市场)5 小时前
MySQL 单点详解(07)
java·数据库·mysql·ai·博客·八股
smilejingwei6 小时前
TRAE 插件上新 | SQLazy:让 AI 写出可信复杂 SQL
数据库·人工智能·sql
我要见SA姐16 小时前
GitHub Actions 自动化:5 个真实运维提效案例
运维·数据库·机器学习·oracle·回归
QXWZ_IA7 小时前
边坡监测预算有限时的建设顺序:虚拟基准站与成本账
网络·数据库
这个DBA有点耶8 小时前
1亿条向量内存降95.4%,延迟降80%:金仓AI原生内核真能解决RAG痛点?
数据库·人工智能·开源
Y3815326628 小时前
用 httpx 写 SerpBase 异步客户端:连接池与超时配置
运维·服务器·数据库