redis学习笔记(一)——redis初识
Redis是一个key-value存储系统。
它通常被称为数据结构服务器,因为值(value)可以是 字符串(String), 哈希(Hash), 列表(list), 集合(sets) 和 有序集合(sorted sets)等类型。
redis的特性
- 速度快
官方表示redis可实现10w的OPS,也就是说可以实现10w/s的读写。主要原因在于:redis的数据是存在内存中的,服务器从内存中读取数据是非常快的。顺带贴一下一张经典的图片,介绍了计算机存储的各个介质:
- 持久化
我们已经知道redis是将数据保存在内存中的,但内存是不具有持久化功能的。也就是说,当机器故障(如断电)时,会丢失内存中的数据。redis对此做了相关的操作,它的所有数据保持在内存中,但对数据的更新还会异步的保存在磁盘上。这样也就保持了redis的持久化,不会因为断电而丢失数据。
- 多种数据结构
redis提供了五种数据结构,包括string、哈希、列表、集合、有序集合。
- 支持多种客户端语言
- 功能丰富
提供包括发布订阅、Lua脚本、事务、pipeline等功能
- 原子
Redis的所有操作都是原子性的,意思就是要么成功执行要么失败完全不执行。单个操作是原子性的。多个操作也支持事务,即原子性,通过MULTI和EXEC指令包起来。
redis的适用场景
redis的典型应用场景:
- 缓存系统
缓存系统模型
通常服务器都包含cache缓存层,以及Storage,数据层。缓存系统的一个典型调用顺序:
1.用户(client)向服务器请求数据
2.服务器向cache请求数据。(通常cache层数据是储存在内存中的,响应速度快。而Storage层数据,类似MySQL,是存储在硬盘中的,响应速度不如内存。因此为了抗大并发或者是提高响应速度,会采用缓存系统)
3.1. 如果cache中有,会直接将数据返回
3.2. 如果cache没有,那么会向Storage层请求数据
4.为了下次调用方便,将该数据存储在cache中
5.返回需求数据
- 计数器
- 消息队列系统
- 排行榜
- 社交网络
- 实时系统
redis安装
直接用homebrew进行安装
brew install redis
启动redis,直接调用命令 redis-server
如同mongo,此时已经开启了redis服务
再打开一个命令窗口,连接redis
redis-cli -h 127.0.0.1 -p 6379
可以看到redis已经成功连接,并且基本的操作命令能够正常执行。