[.net 面向对象程序设计深入](36)Redis——基础

很长一段时间没更新博客了,坚持做一件事,真不是件容易的事,后面我会继续尽可能的花时间更新完这个系列文章。

因这个系列的文章涉及的范围太大了,后面更新不一定会按目录顺序进行,但并不会影响阅读。

最近几年随着电商行业的飞速发展,高可用、高并发、高性能的要求不断提高,Redis火的不要不要的,甚至各种人才招聘的要求中不断出现要会Redis。

不了解感觉这些东西都是大牛们才会的,其实并非那么难学,只要用心,没有学不会的东西。

1、Redis是什么?

Redis 是一种非关系型数据库(也就是NoSql,泛指非关系型数据库)。它是一个Key-Value(键-值)存储系统。

这个Value不只是String类型,还包括List,Hash,Dictionary等等。

Redis支持网络、基于内存,还可以持久化的高性能的数据库,再通俗点说,就是你可以把它当用作数据缓存,也可以当成一个数据库使用,因为可以持久化。

Redis是一个开源项目,它提供了Java,C/C++,C#,PHP,JavaScript,Perl,Object-C,Python,Ruby,Erlang等众多语言客户端。

Redis的官网:redis.io

2、哪些项目使用Redis?

国内新浪、淘宝,国外像 Flickr、Github等均在使用Redis的缓存服务。还有很多很多。。。真的火的不要不要的。。

3、关于Redis的疑问?

(1).为什么我不直接使用List,Hash,Dictionary这些数据结构缓存数据呢?

a.这些数据结构是可以缓存,但不能直接跨网络或说是跨服务器使用。

b.不能直接持久化,你必须序列化以后写入磁盘(或是数据库),而Redis本身就是个数据库,并且支持这些数据结构持久化。

(2).Resis能干啥?

a.数据库(DataBase):前面说了,它是一个Key-Value的存储系统,可以持久化数据,当然可以当数据库使用。

b.缓存(Cache):它也是一个基于内存,支持网络,还有一个特性就是高性能,因此在这个时间就是生命的年代,众多爱好Redis的朋友就拿它缓存数据。不但支持的数据类型多,还支持网络数据共享。

c.消息代理(Message Broker):Redis支持消息代理,支持主从服务器同步,还有阻塞队列的命令,能够让一个程序在执行时被另一个程序添加到队列。因此消息队列实现变得简单,而且具有较高性能。

除此之外,还有很多场景可以使用,后面慢慢介绍。

后面详细介绍Redis的安装及在项目的使用。

==============================================================================================

返回目录

<如果对你有帮助,记得点一下推荐哦,如有有不明白或错误之处,请多交流>

<对本系列文章阅读有困难的朋友,请先看 《.net 面向对象编程基础》和 《.net 面向对象程序设计进阶》 >

<转载声明:技术需要共享精神,欢迎转载本博客中的文章,但请注明版权及URL>

.NET 技术交流群:239031814 

==============================================================================================

[.net 面向对象程序设计深入](36)Redis——基础的更多相关文章

  1. JavaSE-12 面向对象程序设计的几条基础原则

    摘取代码中变化的行为,形成接口 在设计基类的时候,如果该类某个成员方法在子类中的实现变化差别比较大(一部分子类实现该方法是相同的),作为基类有两个问题:一是该方法不再通用:二是子类如果重写该方法,存在 ...

  2. [.net 面向对象程序设计深入](14)Redis——基础

    [.net 面向对象程序设计深入](14)Redis——基础 很长一段时间没更新博客了,坚持做一件事,真不是件容易的事,后面我会继续尽可能的花时间更新完这个系列文章. 因这个系列的文章涉及的范围太大了 ...

  3. Java面向对象程序设计--与C++对比说明:系列1(面向对象基础)

         面向对象程序设计作为一种重要的程序设计思想,在近些年来得到广泛的推崇.而Java和C++更是面向对象程序设计语言中的翘楚,要彻底摸清面向对象程序设计的精髓和在实际应用中更加高效的进行代码设计 ...

  4. 【 .NET 面向对象程序设计进阶》】【 《.NET 面向对象编程基础》】【《正则表达式助手》】

    <.NET 面向对象程序设计进阶> <.NET 面向对象程序设计进阶> <正则表达式助手>

  5. 零基础学Python--------第7章 面向对象程序设计

    第7章 面向对象程序设计 7.1 面向对象概述 面向对象(Object Oriented)的英文缩写是OO,它是一种设计思想.从20世纪60年代提出面向对象的概念到现在,它已经发展成为一种比较成熟的编 ...

  6. Python基础(16)_面向对象程序设计(类、继承、派生、组合、接口)

    一.面向过程程序设计与面向对象程序设计 面向过程的程序设计:核心是过程,过程就解决问题的步骤,基于该思想设计程序就像是在设计一条流水线,是一种机械式的思维方式 优点:复杂的问题的简单化,流程化 缺点: ...

  7. c++基础(七)——面向对象程序设计

    面向对象程序设计(Object-oriented programming)的核心思想是数据抽象,继承,和动态绑定. 1. 继承 在C++语言中,基类将类型相关的函数与派生类不做改变直接继承的函数区分对 ...

  8. Java面向对象程序设计--与C++对比说明:系列3(Java 继承机制)

    继承(inheritance)背后的核心思想是:       bonus = b;    }      } Java没有像C++那样提供多继承机制,但提供了接口机制,在后面我们将详细探究接口机制的实现 ...

  9. 20175221曾祥杰 实验二《Java面向对象程序设计》

    实验二<Java面向对象程序设计> 实验报告封面 课程:Java程序设计 班级:1752班 姓名:曾祥杰 学号:20175221 指导教师:娄嘉鹏 实验日期:2019年4月17日 实验时间 ...

随机推荐

  1. 规范开发目录 及 webpack多环境打包文件配置

    规范开发目录 普通项目 开发目录: ├── project-name ├── README.md ├── .gitignore ├── assets ├── ├── js ├── ├── css ├─ ...

  2. OpenStack--glance组件镜像服务

    glance介绍 Glance 是 OpenStack 项目中负责镜像管理的模块,其功能包括虚拟机镜像的查找,注册和检索等.Glance 提供 Restful API 可以查询虚拟机镜像的 metad ...

  3. 【算法】Attention is all you need

    Transformer 最近看了Attention Is All You Need这篇经典论文.论文里有很多地方描述都很模糊,后来是看了参考文献里其他人的源码分析文章才算是打通整个流程.记录一下. T ...

  4. 认识 Linux 文件权限

    Linux 之所以是比较安全的操作系统,和它丰富的文件权限设定是有关系的,学习 Linux 操作系统一定要懂文件的权限识别和设置.通过这篇博文我们了解 Linux 操作系统的文件权限. 拥有者  / ...

  5. NLP自然语言处理原理及名词介绍

    1. 自然语言概念 自然语言,即我们人类日常所使用的语言,是人类交际的重要方式,也是人类区别其他动物的本质特征. 但是我们只能通过自然语言与人交流,无法与计算机进行交流. 2. 自然语言处理 自然语言 ...

  6. auth组件

    Django auth认证组件 简介 ''' Django auth认证组件提供了用户表的构建方式,认证接口,会话登录与注销接口. 中间件将会话登录用户保存到request对象中,这样不用从会话中获取 ...

  7. Ubuntu安装Sublime Text3插件Emmet的依赖PyV8

    通常情况下,插件是放在运行目录的Packages目录下,经过多番搜索资料,以及验证,ST3将插件放在来Installed Packages目录下,为此,如果遇到无法更新Emmet依赖库PyV8的时候, ...

  8. 解决问题SyntaxError: Unexpected token import

    ES6语法的模块导入导出(import/export)功能,我们在使用它的时候,可能会报错: SyntaxError: Unexpected token import 语法错误:此处不应该出现impo ...

  9. JS中的位操作在实际项目中的应用

    前言: Linux中的文件管理子系统的权限管理,想必大家都知道:rwx分别代表read(可读),write(可写), execute(可执行,如果是可执行程序的话),其中rxw可以按照数字表示: r  ...

  10. 简易promise的实现(二)

    code 上一章中我们遇到了两个问题 1.异步调用顺序的问题 2.then返回一个promise的问题 思考 如果控制异步回调的顺序? 因为异步操的时间作我们无法控制,但是我们只需要按顺序执行回调函数 ...