Redis初识

NoSQL数据库
特点:

  • 不遵循sql标准
  • 不支持ACID
  • 远超于sql的性能

NoSQL适用场景:

  • 对数据高并发读写
  • 海量数据读写
  • 对数据高扩展性

不适用场景:

  • 需要事务支持
  • 基于sql的结构化查询存储,处理复杂的关系,需要即席查询
  • (用不着sql和用了sql也不行的情况,考虑用nosql)

Redis背景知识介绍:

端口6379是如何来的;来自于Alessia Merz,redis的作者称merz为愚蠢的意思,6379对应老式手机的按键merzredis默认16个数据库,从0开始,默认为0号库; 使用select 库号来进行切换; dbsize查看当前数据库的数量

Redis是单线程+多路IO复用技术

多路复用是指一个线程来检查多个文件描述符的就绪状态,比如调用select和poll函数传入多个文件描述符,如果有一个文件描述符就绪,则返回,否则阻塞直到超时。得到就绪状态后进行真正的操作可以在同一个线程执行,也可以启动线程执行

举个例子:
在这里插入图片描述

1,2,3三个人去买票,他们买票都交给黄牛来买,黄牛一个人去火车站买,则只有一个线程去火车站买票;1交给黄牛买票后,则等待黄牛给它买票

串行VS多线程+锁(memcached)VS单线程+多路IO复用(Redis)

与Memcache三点不同:支持多数据类型,支持持久化,单线程+多路IO复用

### Redis 入门教程初学者指南 Redis 是一种高性能的键值对存储系统,广泛应用于缓存、消息队列以及实时数据分析等领域。作为一种开源软件,Redis 支持多种数据结构操作并提供丰富的功能特性。 #### 1. Redis 的基本概念 Redis 不仅是一个简单的键值存储工具,还提供了字符串(String)、哈希(Hash)、列表(List)、集合(Set) 和有序集合(Sorted Set)等多种复杂的数据结构支持[^2]。这些数据结构使得开发者能够轻松实现各种复杂的业务逻辑需求。 #### 2. 安装与环境配置 为了开始使用 Redis,需要先完成其安装过程。通常情况下,在 Linux 或 macOS 平台上可以通过包管理器快速部署;而在 Windows 上则推荐采用 Docker 方式来运行容器化的 Redis 实例[^3]。 ```bash # 使用 apt-get (适用于 Ubuntu/Debian 系统) sudo apt update && sudo apt install redis-server # 启动服务 redis-server --daemonize yes ``` #### 3. 数据结构解析 以下是几种主要的数据类型及其用途简介: - **字符串(String)**: 存储单个值或者作为计数器使用。 ```lua SET mykey "Hello" GET mykey INCR counter_key ``` - **哈希(Hash)**: 表示对象字段与其对应值得映射关系。 ```lua HMSET user:1000 username "Alice" age 30 HGETALL user:1000 ``` - **列表(List)**: 双端链表形式用于 FIFO/LIFO 队列模拟。 ```lua LPUSH queue item1 RPUSH queue item2 LPOP queue RPOP queue ``` - **集合(Set)& 有序集合(Sorted Set)**: 去重后的无序集合或带分数权重排序版。 ```lua SADD unique_items apple banana orange SMEMBERS unique_items ZADD leaderboard 95 alice 87 bob 76 charlie ZRANGE leaderboard 0 -1 WITHSCORES ``` #### 4. 持久化机制 Redis 提供两种持久化方式——RDB 快照文件和 AOF 日志记录。前者定期保存当前状态至磁盘,后者则是每次写命令追加到日志中以便恢复时重新执行所有变更[^2]^。 #### 5. 应用场景举例 一些常见的 Redis 使用场景包括但不限于网站访问统计、会话管理、购物车暂存等功能模块开发过程中发挥重要作用. --- ###
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值