Redis 入门到分布式 (一)Redis初识
个人博客网:https://wushaopei.github.io/ (你想要这里多有)
一、Redis特性目录
Redis的特性:
- 速度快
- 持久化
- 多种数据结构
- 支持多种编辑语言
- 功能丰富
- 简单 : 代码短小精悍,使用简单
- 主从复制:实现高可用的基础
- 高可用、分布式
二、特性-详解
1、特性1-速度快
1)速度快的体现:
每秒的读取速度最高可达: 10w OPS

Redis 的数据是保存在内存上的,所以读取快;
同时底层由c语言编写,编译高效;
又由于是单线程模型,具有线程安全的特性。
2)计算机存储介质的速度排行:

3)内存的随机读写性能表:

2、特性2-持久化
持久化功能:
Redis所有数据保持在内存中,对数据的更新将异步地保存到磁盘上。

3、特性3-数据结构

Redis 具有String、Hash、List、Set、zSet共五种数据结构
后续衍生扩展的数据结构:
- BitMaps : 位图
使用位图可以用很小的内存实现很高效的存储
- HyperLogLog:超小内存唯一值技术
由jdk1.8.75开始提供。
- GEO:地理信息定位
提供对于地理位置的定位服务,比如:用于查找运算出离你最近的餐馆等
4、特性4-多语言客户端

支持Redis的语言和应用非常多而且广泛。
5、特性5-功能丰富
Redis本身也支持发布订阅,基于消息发布的功能。
Redis也支持Lua脚本,以及简单的事务功能;并提供pipeline用于并发的控制。
6、特性6-简单

Redis的代码实现只有23000行,由C语言编写。简单而健壮。
7、特性7-复制

Redis提供了主从复制的功能,主服务器上的功能可以同步到从服务器上。
8、特性8-高可用分布式

Redis提供了Redis-Sentinel,即哨兵实现高可用;以及Redis-Cluster支持分布式。
三、redis典型使用场景
1、Redis典型应用场景:
缓存系统 、计数器、消息队列系统、排行榜、社交网络、实时系统
2、缓存系统:

当用户访问App Server时,AppServer会首先从cache(redis)里去取数据,如果cache中有就直接返回,如果没有,就从Strage中去取数据;为了下次方便取数据,会将Storage总能查到的数据同步副本到cache中,方便下次用户直接去cache(redis)中获取到。
3、计数器:

如图中,一条微博的转发数、评论数都可以使用redis的计数器功能来进行记录。
4、消息队列系统:

Redis提供了消息的发布、订阅这一与消息队列系统类似的模型,当对消息队列的要求不是太高时,可以考虑使用Redis.
5、社交网络:

很多社交媒体的功能都会使用Redis来实现,例如:粉丝数、关注数,还有共同关注,已经时间轴列表等。比如新浪微博。
6、实时系统:

使用位图功能对垃圾邮件进行过滤,实时系统的处理。
四、redis三种启动方式介绍
1、Redis 安装:
在线下载redis安装包:
wget http://download.redis.io/releases/redis-3.0.7.tar.gz
解压缩:
tar -xzf redis-3.0.7.tar.gz
建立一个软连接,便于后期升级版本:
In -s redis-3.0.7 redis
进入解压缩文件夹内,并执行安装:
cd redis
make && make install
2、Redis可执行文件说明:


3、三种启动方法:
- 最简启动
- 配置文件启动
- 动态参数启动
4、 最简启动:
redis-server
1)验证:
ps -ef | grep redis
netstat -antpl | grep redis
redis-cli -h ip -p port ping
5、指定端口号启动
redis-server --port 6379
6、通过配置文件启动
Redis-server configPath
7、三种启动方式比较:
生产环境选择配置启动;
单击多实例配置文件可以用端口区分开;
8、简单的客户端连接:
[root@rich bin]# ./redis-cli -h 192.168.254.111 -p 6379
192.168.254.111:6379> ping
PONG
192.168.254.111:6379> set hello world
OK
192.168.254.111:6379> get hello
"world"
192.168.254.111:6379>
9、Redis客户端返回值:


五、redis常用配置

Redis 入门到分布式 (一)Redis初识的更多相关文章
- Redis入门很简单之四【初识Jedis】
Redis入门很简单之四[初识Jedis] 博客分类: NoSQL/Redis/MongoDB redisnosql缓存jedis 使用Jedis提供的Java API对Redis进行操作,是Red ...
- redis入门(15)redis的数据备份和恢复
redis入门(15)redis的数据备份和恢复
- redis入门(14)redis集群下的数据分区存储
redis入门(10)redis集群下的数据分区存储
- <Redis> 入门X 分布式锁
分布式其实就是多进程的程序,当多个进程访问一个资源,会造成问题: 1.资源共享的竞争问题 2.数据的安全性 分布式锁的解决方案: 1.怎么去获取锁 数据库 zookeeper redis 2.怎么释放 ...
- Redis 入门到分布式 (二)API的理解和使用
个人博客网:https://wushaopei.github.io/ (你想要这里多有) 内容: 通用命令 单线程架构 数据结构和内部编码 一.常用的通用命令: keys 计算所有的 ...
- Redis 入门到分布式 (八)Redis Sentinel
个人博客网:https://wushaopei.github.io/ (你想要这里多有) sentinel-目录 主从复制高可用 安装配置 实现原理 架构说明 客户端连接 常见开发运维问题 一. ...
- Redis 入门到分布式 (五) Redis持久化的取舍和选择
个人博客网:https://wushaopei.github.io/ (你想要这里多有) Redis持久化的取舍和选择 持久化的作用 RDB AOF RDB和AOF的选择 一.持久化的作用 ...
- Redis 入门到分布式 (三) Redis客户端的使用
个人博客网:https://wushaopei.github.io/ (你想要这里多有) 一.Java客服端:jedis 获取Jedis Jedis基本使用 Jedis连接池使用 1.Jedis ...
- SpringBoot开发二十-Redis入门以及Spring整合Redis
安装 Redis,熟悉 Redis 的命令以及整合Redis,在Spring 中使用Redis. 代码实现 Redis 内置了 16 个库,索引是 0-15 ,默认选择第 0 个 Redis 的常用命 ...
随机推荐
- 【Hadoop离线基础总结】MapReduce 社交粉丝数据分析 求出哪些人两两之间有共同好友,及他俩的共同好友都有谁?
MapReduce 社交粉丝数据分析 求出哪些人两两之间有共同好友,及他俩的共同好友都有谁? 用户及好友数据 A:B,C,D,F,E,O B:A,C,E,K C:F,A,D,I D:A,E,F,L E ...
- 设计模式之GOF23适配器模式
结构型模式 核心作用:是从程序的结构上实现松耦合,从而可以扩大整体的 类结构,用来解决更大的问题 适配器模式adapter 实际生活中的例子:转换器 适配器的两种方式: 1,类适配器(继承) /**需 ...
- [csu1605]数独(精确覆盖问题)
题意 :给定数独的某些初始值,规定每个格子的得分,求得分最大的数独的解. 思路:这是某年的noip的原题,高中时就写过,位运算也就是那个时候学会的--.这题明显是暴搜,但是需要注意两点,一是需要加一些 ...
- python100例 11-20
011 兔子问题 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? f1=1 f2=1 for i ...
- JavaWeb学习之JSP(三) EL表达式
EL表达式 什么是EL表达式 EL,Expression Language,表达式语言,是一种在JSP页面中获取数据的简单方式,通过${变量名}的方式可以获取到值,需要注意的是EL只能从 page ...
- 一站式Kafka平台解决方案——KafkaCenter
KafkaCenter是什么 KafkaCenter是一个针对Kafka的一站式,解决方案.用于Kafka集群的维护与管理,生产者和消费者的监控,以及Kafka部分生态组件的使用. 对于Kafka的平 ...
- 我参与 Seata 开源项目的一些感悟
丁老师在他的知识星球邀请我回答以下一个问题: 我觉得这个问题非常有意思,姑且把它贴到公众号这里,与大家分享一下我对这个问题的一些感悟. 感谢丁老师的邀请问答: 在这里我就简单说下,我这段时间参与 Se ...
- 记一条sql语句优化
傻瓜级的.此sql语句存在于分销王系统中. 查阅slow log ,时间设置1s 发现很多 SELECT r.*, goods_id, bn, name FROM sdb_goods_rate r, ...
- vue的slot
1.明确一点:分发内容是在父作用域内编译: 2.slot作为备用内容的条件:宿主元素为空且父元素没有要分发的内容. 3.具名slot:<slot name="XXX"> ...
- Objective-C中的加号与减号
在Objective-C中,方法分为类方法和实例方法. 前置加号(+)的方法为类方法,这类方法是可以直接用类名来调用的,它的作用主要是创建一个实例.有人把它称为创建实例的工厂方法. 前置减号(-)的方 ...