跟我一起学Redis之Redis概述

背景

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

img

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

img

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

img

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

img

初识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环境中进行部署使用。

img

以上大概意思就是推荐使用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

    img

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

    img

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

    img

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

最后

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

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

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

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

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

posted @ 2020-09-23 14:21  Code综艺圈  阅读(663)  评论(0编辑  收藏  举报