什么是redis,redis能做什么,redis应用场景

什么是redis,redis能做什么,redis应用场景

Redis是一个key-value存储系统。Redis的出现,很大程度补偿了memcached这类key/value存储的不足,在部分场合可以对关系数据库起到很好的补充作用。这篇文章小编为大家分享了在Windows下进行安装和使用Redis的技巧。

 

Redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set –有序集合)和hash(哈希类型)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。在此基础上,redis支持各种不同方式的排序。与memcached一样,为了保证效率,数据都是缓存在内存中。区别的是redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave。

 

1. 什么是Redis

 

Redis是由意大利人Salvatore Sanfilippo(网名:antirez)开发的一款内存高速缓存数据库。Redis全称为:Remote Dictionary Server(远程数据服务),该软件使用C语言编写,Redis是一个key-value存储系统,它支持丰富的数据类型,如:string、list、set、zset(sorted set)、hash。

 

2. Redis特点

 

Redis以内存作为数据存储介质,所以读写数据的效率极高,远远超过数据库。以设置和获取一个256字节字符串为例,它的读取速度可高达110000次/s,写速度高达81000次/s。

 

Redis跟memcache不同的是,储存在Redis中的数据是持久化的,断电或重启后,数据也不会丢失因为Redis的存储分为内存存储、磁盘存储和log文件三部分,重启后,Redis可以从磁盘重新将数据加载到内存中,这些可以通过配置文件对其进行配置,正因为这样,Redis才能实现持久化。

 

Redis支持主从模式,可以配置集群,这样更利于支撑起大型的项目,这也是Redis的一大亮点。

 

3. Redis应用场景,它能做什么

 

众多语言都支持Redis,因为Redis交换数据快,所以在服务器中常用来存储一些需要频繁调取的数据,这样可以大大节省系统直接读取磁盘来获得数据的I/O开销,更重要的是可以极大提升速度。

 

拿大型网站来举个例子,比如a网站首页一天有100万人访问,其中有一个板块为推荐新闻。要是直接从数据库查询,那么一天就要多消耗100万次数据库请求。上面已经说过,Redis支持丰富的数据类型,所以这完全可以用Redis来完成,将这种热点数据存到Redis(内存)中,要用的时候,直接从内存取,极大的提高了速度和节约了服务器的开销。

 

总之,Redis的应用是非常广泛的,而且极有价值,真是服务器中的一件利器,所以从现在开始,我们就来一步步学好它。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/113839.html原文链接:https://javaforall.net

(0)
上一篇 2021年10月10日 下午3:00
下一篇 2021年10月10日 下午3:00


相关推荐

  • C语言刷屏

    C语言刷屏QQ刷屏原理和复制粘贴差不多,只不过是叫系统帮你粘贴并摁下回车键。#include<stdio.h>#include<Windows.h>intmain(){ intn; charname[100]; printf(“请输入窗口名字:”); scanf(“%s”,&name);//窗口名字 printf(“请输入刷屏次数:”);…

    2022年6月8日
    64
  • Java学习之JDBC篇

    Java学习之JDBC篇0x00前言在一些web开发或者是数据存储的时候,肯定会使用到数据库来进行数据存储。而在Java里面需要调用JDBC来对数据库进行操作。0x01JDBC概念Jav

    2021年12月12日
    43
  • 模型只是冰山一角!揭秘被忽视的AI Agent性能关键——脚手架工程

    模型只是冰山一角!揭秘被忽视的AI Agent性能关键——脚手架工程

    2026年3月13日
    2
  • volatile关键字作用

    volatile关键字作用一、作用简述内存可见性:保证变量的可见性:当一个被volatile关键字修饰的变量被一个线程修改的时候,其他线程可以立刻得到修改之后的结果。当一个线程向被volatile关键字修饰的变量写入数据的时候,虚拟机会强制它被值刷新到主内存中。当一个线程用到被volatile关键字修饰的值的时候,虚拟机会强制要求它从主内存中读取。 屏蔽JVM指令重排序(防止JVM编译源码生成class时使用重排序)…

    2022年6月1日
    41
  • 理解 Python 的 for 循环

    理解 Python 的 for 循环在本篇博客中 我们将讨论 Python 中 for 循环的原理 我们将从一组基本例子和它的语法开始 还将讨论与 for 循环关联的 else 代码块的用处 然后我们将介绍迭代对象 迭代器和迭代器协议 还会学习如何创建自己的迭代对象和迭代器 之后 我们将讨论如何使用迭代对象和迭代器实现 for 循环 以及利用 while 循环通过迭代器协议实现 for 循环逻辑 最后 我们将反编译一

    2026年3月26日
    2
  • html5二维动画教程,Flash二维动画制作案例教程

    html5二维动画教程,Flash二维动画制作案例教程Flash二维动画制作案例教程编辑锁定讨论上传视频《Flash二维动画制作案例教程》是2009年高等教育出版社出版的图书。书名Flash二维动画制作案例教程ISBN9787040260403页数272页出版社高等教育出版社Flash二维动画制作案例教程图书信息编辑出版社:高等教育出版社;第1版(2009年12月1日)丛书名:国家动漫游戏产业振兴基地人才培养工程指定教材平装:…

    2022年6月3日
    32

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号