背景

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

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

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

由于互联网的高并发、高可扩、高性能需求(所谓的互联网三高),促使了很多非关系型数据应用和发展,如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. 分布式数据库中间件 MyCat | 分库分表实践

    MyCat 简介 MyCat 是一个功能强大的分布式数据库中间件,是一个实现了 MySQL 协议的 Server,前端人员可以把它看做是一个数据库代理中间件,用 MySQL 客户端工具和命令行访问:而 ...

  2. 封装Vue Element的form表单组件

    前两天封装了一个基于vue和Element的table表格组件,阅读的人还是很多的,看来大家都是很认同组件化.高复用这种开发模式的,毕竟开发效率高,代码优雅,逼格高嘛.虽然这两天我的心情很糟糕,就像& ...

  3. CSS图形基础:纯CSS绘制图形

    为了在页面中利用CSS3绘制图形,在页面中定义 <div  class="container"> <div class="shape"> ...

  4. 第5章 if 语句

    第5章 if 语句 5.1 一个简单示例 cars = ['audi', 'bmw', 'subaru', 'toyota'] for car in cars: if car == 'bmw': pr ...

  5. 《HelloGitHub》第 53 期

    兴趣是最好的老师,HelloGitHub 就是帮你找到兴趣! 简介 分享 GitHub 上有趣.入门级的开源项目. 这是一个面向编程新手.热爱编程.对开源社区感兴趣 人群的月刊,月刊的内容包括:各种编 ...

  6. python笔记-字符串连接

    字符串连接 + 1.Java中其他基本数据类型和string做+,自动转成string处理 Python中没有此特性.需要先转成string再做拼接 2.每连接一次,就要重新开辟空间,然后把字符串连接 ...

  7. SSM框架之mybatis极速入门!

  8. 《神经网络的梯度推导与代码验证》之LSTM的前向传播和反向梯度推导

    前言 在本篇章,我们将专门针对LSTM这种网络结构进行前向传播介绍和反向梯度推导. 关于LSTM的梯度推导,这一块确实挺不好掌握,原因有: 一些经典的deep learning 教程,例如花书缺乏相关 ...

  9. Zabbix 5.0切换中文语言小结

    最近测试Zabbix 5.0,去修改语言时发现不能选择"Chinese(zh_CN)",这个选项在下拉框中是灰色的(无法选择).提示"You are not able t ...

  10. Linux平台Zabbix Agent的安装配置

    这里简单总结一下Linux平台Zabbix Agent的安装配置,实验测试的Zabbix版本比较老了(Zabbix 3.0.9),不过版本虽然有点老旧,但是新旧版本的安装步骤.流程基本差别不大.这里的 ...