引言
之前两篇博客讲了Redis单机版和集群版的安装,这里讲Redis的应用。要讲Redis的应用,首先得知道它的一些特
性,先看图:
思维导图
What is Redis?
不看书,我都不知道Redis的全拼叫啥,说好的思想上移哪去了?! Remote Ditionary Server(远程字典服务
器)是Redis缩写的原意。
从官网看Redis:
Redis is an open source(BSD licensed), in-memory data structure store, used as a database, cache
and message broker, It supports data structures such as strings, hashes, lists, sets, sorted sets with
range queries, bitmaps, hyperloglogs and geospatial indexes with radius queries. Redis has built-in
replication, Lua scripting, LRU eviction, transactions and different levels of on-disk persistence,
and provides high availability via Redis Sentinel and automatic partitioning with Redis Cluster.
总结以下几点Redis特点:
1. 开源
2. 内存数据库
3. 常用数据结构
4. 复制、事务、持久化
where is Redis
Redis官网:https://redis.io/
Redis中文网:http://www.redis.cn/
其余不赘述。
For what?
1. 内存存储和持久化:redis支持异步将内存中的数据写到硬盘上,同时不影响继续服务。
2. 取最新N个数据的操作,如:可以将最新的10条评论的ID放在Redis的List集合里。
3. 模拟类似于HttpSession这种需要设定过期时间的功能。
4. 发布、订阅消息。
5. 定时器、计数器。
6. ……
How to use it?
思维导图里基本上是Redis的核心内容了,简单的逐个介绍下,接下来会针对每个内容进行详细讲解。
1.数据类型
Redis支持的数据类型中,常用的有五种:String,Hash,List,Set,Zset(sorted set).
2.配置文件
Redis的配置文件redis.conf是redis的核心配置文件,里边包含很多重要的配置,稍后会详细说。
3.持久化
Redis持久化分为两种:默认的是rdb,aof也是支持的。当满足条件时,分别会产生.rdb和.aof文件,redis可以
通过这两个文件进行数据恢复。
4.事务
Redis支持事务,但是和数据库事务的ACID属性稍稍不同,不保证原子性,没有隔离级别的概念。Redis事务利用
队列进行一次性、顺序性、排他性的执行一系列命令。
5.发布订阅
发布订阅是进程间的一种消息通信模式:发送者(pub)发送消息,订阅者(sub)接收消息。
6.主从复制
redis集群,一般的模式时三主三从,从服务器就是对主服务器的复制和备份。Master以写为主,Slave以读为
主。
7.Java客户端Jedis
Redis在Java的实现是Jedis,稍后会在代码里详细讲解。