背景

技术的更新迭代,是程序员最最最头大的事,总是在每个网络角落中有感慨声:学不动啦;

其实新技术并不是凭空而出,而是随着业务推进、数据驱动、技术积累促使开发者的不断探索和实践,最终横空出世--“新技术”;

对于项目而言,并不是一开始就能把所有的需求、架构和性能都做到极致,而是通过一次次的迭代;最经典的的案例就是淘宝网的演变,从最初的单体程序到现在人人都效仿的大项目,其经历了无数次的变迁和优化(“淘宝技术这十年”记录了一次次的优化过程);

由于互联网的高并发、高可扩、高性能需求(所谓的互联网三高),促使了很多非关系型数据应用和发展,如Key-Value数据库(Redis、Oracle BDB等)、列存储数据库(HBase等)、文档型数据库(MongoDb等)、图形数据库(Infinite Graph、Neo4J等),各种非关系数据库都在各自领域扮演极其重要的角色; 其中Redis成为Web2.0数据缓存的利器,同时也成为小伙伴们必知必会的技能。

初识Redis

什么是Redis?

Redis(Remote Dictionary Server ),即远程字典服务,是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API

百度百科

简单的理解就是一个Key-Value数据库,即字典形式存储,归类于NoSql(通常理解为“Not Only SQL”)数据库;官网地址如下:

英文版:https://redis.io/

中文版:http://www.redis.cn/

为什么要用Redis?

  • 开源:除了使用没障碍,开源会促进其发展;
  • 快:操作数据快,性能高;
  • 扩展性好:根据需要很容易进行扩展,集群、主从复制等;
  • 比较活跃:文档详细,版本维护及时,社区讨论都很活跃;

默认端口6379的背后故事

6379在是手机按键上MERZ对应的号码,而MERZ取自意大利歌女Alessia Merz的名字;Redis 作者 Antirez 早年看电视节目,觉得 Merz 在节目中的一些话愚蠢可笑,Antirez 喜欢造“梗”用于平时和朋友们交流,于是造了一个词 "MERZ",形容愚蠢,所以当要为Redis选择一个数字端口的时候就使用6379(这个缘由不必抬杠,当做了解即可,毕竟不影响我们学习和使用)。

运行环境和版本

官方推荐在Linux环境中进行部署使用。

以上大概意思就是推荐使用Linux,对于Windows没有提供官方支持;平时使用的Windows版本是微软提供的,而且已经好久没维护。

Redis 使用标准版本标记进行版本控制:major.minor.patchlevel(主版本.****次版本.优化版本)。偶数的版本号表示稳定的版本, 例如 1.2,2.0,2.2,2.4,2.6,2.8,奇数的版本号用来表示非标准版本,例如2.9.x是非稳定版本,它的稳定版本是3.0。

整理大概内容

概述->数据类型及应用场景->事务->配置文件详解->持久化->发布订阅->主从复制->哨兵模式->Lua脚本操作->布隆过滤器->其他扩展(缓存雪崩、穿透、数据一致性等)

Windows安装

噗,说好的推荐Linux中运行的,好吧,我承认,这里要偷个懒,为了方便,接下来的学习打算在Windows进行,后续还是会切换到Linux的。当然,实际部署还是推荐Linux。

  1. 下载

    windows下载地址:https://github.com/microsoftarchive/redis/releases/tag/win-3.2.100

  2. 拷到自己想放的文件夹,然后解压;

  3. 先打开redis-server.exe,再打开redis-cli.exe,测试是否连接成功

安装如此简单,知道我偷懒的原因了吧,哈哈哈~~~Linux环境的安装后续再补上。

最后

对于Redis的使用,存在以下公认现象:

  • 所有开发者中,80%会用,20%还没用过;
  • 在使用过程中,80%只会string,20%应用熟练;
  • 在熟练应用的开发者中,80%只会常规操作,20%高级应用;

当然,每个人都在进步,关注“Code综艺圈”一起学习,我们一起努力成为最后一个20%的人。

一个被程序搞丑的帅小伙,关注"Code综艺圈",识别关注跟我一起学~~~

撸文不易,莫要白瞟,三连走起~~~~

跟我一起学Redis之Redis概述的更多相关文章

  1. Redis数据库 01概述| 五大数据类型

    1.NoSQL数据库简介 解决应用服务器的CPU和内存压力:解决数据库服务的IO压力: ----->>> ① session存在缓存数据库(完全在内存里),速度快且数据结构简单: 打 ...

  2. 峰Redis学习(9)Redis 集群(概述)

    第一节:Redis 集群概述 redis cluster是去中心化,去中间件的,也就是说,集群中的每个节点都是平等的关系,都是对等的,每个节点都保存各自的数据和整个集群的状态.每个节点都和其他所有节点 ...

  3. 跟我一起学Redis之Redis配置文件啃了一遍之后,从尴尬变得有底气了

    前言 秋高气爽的一天,那时候年轻帅气的我正在参照着搜索引擎写代码,迷之微笑般的敲着键盘(又从搜索引擎上找到代码案例啦),突然领导在小隔间里传来了呼唤声,然后有了以下场景: 领导:小Z,你过来一下: 当 ...

  4. redis 一般性使用概述

    最近一段时间与redis接触比较频繁.发现有些东西还是工作中经常会用到的,自己也花了点时间巩固下.本篇文章主要是以总结性的方式梳理,因为redis的主题很大,任何一个技术点展开都是几篇文章的量.也可以 ...

  5. Redis实战——redis主从备份和哨兵模式实践

    借鉴:http://redis.majunwei.com/topics/sentinel.html     https://blog.csdn.net/u011784767/article/detai ...

  6. 【redis】redis基础命令学习集合

    写在前面 Redis是一个高速的内存数据库,它的应用十分广泛,可以说是服务端必学必精的东西.然而,学以致用,无用则无为.学了的东西必须反复的去用,去实践,方能有真知.这篇文章记录了我在redis学习过 ...

  7. redis基础:redis下载安装与配置,redis数据类型使用,redis常用指令,jedis使用,RDB和AOF持久化

    知识点梳理 课堂讲义 课程计划 1. REDIS 入 门 (了解) (操作)   2. 数据类型 (重点) (操作) (理解) 3. 常用指令   (操作)   4. Jedis (重点) (操作) ...

  8. Java Spring mvc 操作 Redis 及 Redis 集群

    本文原创,转载请注明:http://www.cnblogs.com/fengzheng/p/5941953.html 关于 Redis 集群搭建可以参考我的另一篇文章 Redis集群搭建与简单使用 R ...

  9. CentOS下安装Redis及Redis的PHP扩展

    1.安装Redis 1.1 如果没有安装wget,安装wget yum install wget 1.2 在http://redis.io/download页面查看redis版本,并下载安装 wget ...

  10. redis/php redis扩展 安装

    作者:silenceper 日期:2013-10-03 原文地址: http://silenceper.com/archives/952.html 我是在CentOS 6.3 中进行的. 使用到的软件 ...

随机推荐

  1. Linux查看系统硬件信息命令汇总

    对工作中,经常用的查看系统硬件命令的一个简单总结 1.查看磁盘类型(是否SSD盘)cat /sys/block/sda/queue/rotational注意:命令中的sba是你的磁盘名称,可以通过df ...

  2. 第七篇Scrum冲刺博客--Interesting-Corps

    第七篇Scrum冲刺博客 站立式会议 1.会议照片 2.队友完成情况 团队成员 昨日完成 今日计划 鲍鱼铭 各界面数据请求云函数设计及实现 代码交接及整体架构搭建 叶学涛 进行代码优化 和队友进行交接 ...

  3. Jenkins读取Allure结果出报告

    1.想 jenkins 有展示和解析 Allure 报告的能力,就必须装 Allure 插件. 「安装插件地址:」 http://updates.jenkins-ci.org/download/plu ...

  4. Mybatis动态语句

    If元素If元素是简单的条件判断逻辑,满足制定条件时追加if元素的SQL,不满足条件时不追加,使用格式如下: <select ….> SQL语句1 <if test=“条件表达式”& ...

  5. mysql再回首

    Mysql与Oracle的区别 1.实例区别 Mysql是一个轻量型数据库,开源免费.Oracle是收费的而且价格非常高. Mysql一个实例可以操作多个库,而Oracle一个实例只能对应一个库. M ...

  6. 轻量化模型训练加速的思考(Pytorch实现)

    0. 引子 在训练轻量化模型时,经常发生的情况就是,明明 GPU 很闲,可速度就是上不去,用了多张卡并行也没有太大改善. 如果什么优化都不做,仅仅是使用nn.DataParallel这个模块,那么实测 ...

  7. 【Flutter 实战】全局点击空白处隐藏键盘

    老孟导读:为什么要实现点击空白处隐藏键盘?因为这是 iOS 平台的默认行为,Android 平台由于其弹出的键盘右上角默认带有关闭键盘的按钮,所以点击空白处不会隐藏键盘. 对于单个页面来说,通过为 T ...

  8. Android开发禁止首次进入activity弹出软键盘,限制屏幕只能竖屏或者横屏展示

    作者:程序员小冰,CSDN博客:http://blog.csdn.net/qq_21376985 只需在在Manifest.xml中设定activity的属性为: android:windowSoft ...

  9. iOS审核被拒大全

    崩溃和bug 当你完成应用开发并准备发布时应该将App提交审核.在提交审核前,要确保已经在设备上对应用程序进行了彻底的测试,修复了所有的bug. 断掉的链接 应用程序中所有的链接必须是功能性的.对于所 ...

  10. 【转】ANDROID LOLLIPOP SCREEN CAPTURE AND SHARING

    https://datatheorem.github.io/android/2014/12/26/android-screencapture/ https://www.youtube.com/watc ...