个人博客网:https://wushaopei.github.io/    (你想要这里多有)

一、Redis特性目录

Redis的特性:

  • 速度快
  • 持久化
  • 多种数据结构
  • 支持多种编辑语言
  • 功能丰富
  • 简单 : 代码短小精悍,使用简单
  • 主从复制:实现高可用的基础
  • 高可用、分布式

二、特性-详解

1、特性1-速度快

1)速度快的体现:

每秒的读取速度最高可达: 10w OPS

Redis 的数据是保存在内存上的,所以读取快;

同时底层由c语言编写,编译高效;

又由于是单线程模型,具有线程安全的特性。

2)计算机存储介质的速度排行

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

2、特性2-持久化

持久化功能:

Redis所有数据保持在内存中,对数据的更新将异步地保存到磁盘上。

3、特性3-数据结构

Redis 具有String、HashListSetzSet共五种数据结构

后续衍生扩展的数据结构:

  • 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初识的更多相关文章

  1. Redis入门很简单之四【初识Jedis】

    Redis入门很简单之四[初识Jedis] 博客分类: NoSQL/Redis/MongoDB redisnosql缓存jedis  使用Jedis提供的Java API对Redis进行操作,是Red ...

  2. redis入门(15)redis的数据备份和恢复

    redis入门(15)redis的数据备份和恢复

  3. redis入门(14)redis集群下的数据分区存储

    redis入门(10)redis集群下的数据分区存储

  4. <Redis> 入门X 分布式锁

    分布式其实就是多进程的程序,当多个进程访问一个资源,会造成问题: 1.资源共享的竞争问题 2.数据的安全性 分布式锁的解决方案: 1.怎么去获取锁 数据库 zookeeper redis 2.怎么释放 ...

  5. Redis 入门到分布式 (二)API的理解和使用

    个人博客网:https://wushaopei.github.io/    (你想要这里多有) 内容: 通用命令 单线程架构 数据结构和内部编码 一.常用的通用命令: keys       计算所有的 ...

  6. Redis 入门到分布式 (八)Redis Sentinel

    个人博客网:https://wushaopei.github.io/    (你想要这里多有) sentinel-目录 主从复制高可用 安装配置 实现原理 架构说明 客户端连接 常见开发运维问题 一. ...

  7. Redis 入门到分布式 (五) Redis持久化的取舍和选择

    个人博客网:https://wushaopei.github.io/    (你想要这里多有) Redis持久化的取舍和选择 持久化的作用 RDB AOF RDB和AOF的选择 一.持久化的作用   ...

  8. Redis 入门到分布式 (三) Redis客户端的使用

    个人博客网:https://wushaopei.github.io/    (你想要这里多有) 一.Java客服端:jedis 获取Jedis Jedis基本使用 Jedis连接池使用 1.Jedis ...

  9. SpringBoot开发二十-Redis入门以及Spring整合Redis

    安装 Redis,熟悉 Redis 的命令以及整合Redis,在Spring 中使用Redis. 代码实现 Redis 内置了 16 个库,索引是 0-15 ,默认选择第 0 个 Redis 的常用命 ...

随机推荐

  1. CSS实现div填充剩余高度

    相信小伙伴们经常会遇到这个问题,我也是填了很多坑,查了很多资料,才解决的,下面我列出2个方法: 我们的需求如图: 1:(这个方法不推荐使用,因为可能会因为设备不同,而出现未知BUG,特别是div出现p ...

  2. 如何使用 frp 实现内网穿透

    这有一个专注Gopher技术成长的开源项目「go home」 背景 作为一名程序员,家里多多少少会有一些落了灰的电脑,如果把闲置的电脑变成服务器,不仅有良好的配置,还能用来做各种测试,那就再好不过了. ...

  3. Mysql 常用函数(19)- mod 函数

    Mysql常用函数的汇总,可看下面系列文章 https://www.cnblogs.com/poloyy/category/1765164.html mod 的作用 求余数,和%一样 mod的语法格式 ...

  4. 小姐姐教你定制一个Logstash Java Filter

    Logstash是用来收集数据,解析处理数据,最终输出数据到存储组件的处理引擎.数据处理流程为: Logstash Java Filter 就是基于Logstash的Filter扩展API开发一个用J ...

  5. Anaconda3中的Jupyter notebook添加目录插件

    学习python和人工智能的相关课程时安装了Anaconda3,想在Jupyter notebook中归纳整理笔记,为了方便日后查找想安装目录(Table of Contents, TOC)插件,查找 ...

  6. 【WEB自动化】【第一节】【Xpath和CSS元素定位】

    目前自动化测试开始投入WEB测试,使用RF及其selenium库,模拟对WEB页面进行操作,此过程中首先面对的问题就是对WEB页面元素的定位,几乎所有的关键字都需要传入特定的WEB页面元素,因此掌握常 ...

  7. C# 数据操作系列 - 10 NHibernate初试

    0. 前言 在上一篇基本讲完了EF Core的入门级教程.从这一篇开始,我们试着去探索一下 .net core平台上更多的ORM框架.那么,这一篇开始我们就来试试NHibernate. 1. NHib ...

  8. Redux:store

    Store是一个对象.他有如下职责: 1.存放state 2.对外提供访问state的接口: getState() 3.允许state更新:dispatch(action) 4.注册监听器: subs ...

  9. vue中v-for索引不要用key

    今天发现在给元素v-for渲染的时候,想给元素添加key特性存储索引,发现不奏效: <div class="apic" v-for="(pic,index) in ...

  10. Maven整合JaCoCo和Sonar,看看你的测试写够了没

    1 简介 单元测试是保证代码质量的重要一环,而如何衡量单元测试写得好不好呢?覆盖率(Coverage)是一个重要指标.而JaCoCo则是专门为Java提供的用于检测测试覆盖率的工具,英文全称为Java ...