zoukankan      html  css  js  c++  java
  • 跟我一起学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综艺圈",识别关注跟我一起学~~~

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

  • 相关阅读:
    正则表达式匹配负数和数字
    下拉框select chosen被遮盖
    获取JavaScript对象的方法
    管理机--Jumpserver由docker搭建
    腾讯云--腾讯云sdk-实现脚本修改腾讯云负载均衡权重
    Linux系统中使用confluence构建企业wiki
    腾讯云--对象存储cos绑定自定义域名
    python(一)python的操作符
    pytest(五)用例传fixture参数
    pytest(四)firture自定义用例预置条件
  • 原文地址:https://www.cnblogs.com/zoe-zyq/p/13718121.html
Copyright © 2011-2022 走看看