简介

       Redis是一个速度非常快的非关系型数据库,它不仅性能强劲,而且还具有复制特性以及为解决问题而生的独一无二的数据模型。作为键值型数据库,Redis支持5中数据类型:字符串,列表,集合,Hash散列和有序集合,各式各样的问题都可以很自然的映射到这些数据结构上,Redis的数据结构致力于帮助用户解决问题,而不像其他数据库那样要求用户扭曲问题来适应数据库。这几种数据模型及其对应的操作命令和强类型编程语言对应的类型更为相似,方便理解和使用。

Redis与其它软件的对比

       对于关系型数据库在查询数据时,有时候需要进行多表操作来完成数据查询,但是在Redis中并不存在表的概念,它的数据库也不会预定义或者强制去要求用户对Redis存储的不同数据进行关联。谈起Redis就不得不说另一个高性能的键值缓存服务器 Memcached,它们经常用来进行相互比较。但是Redis可以将内存中缓存的数据同步到磁盘上,除了支持字符串上更多的操作外,Redis还支持其余四种类型,通过更多的数据结构解决更多的问题,在实际应用中既可以作为主数据库也可以用为其他存储系统的辅助数据库使用。
具体对比一下两者的区别:

使用Redis的理由

       数据库的一个常见用法是用来存储长期报告的数据,并将这些数据存储在不同的表中,对数据的插入操作会执行的很迅速,只需要在数据行的末尾追加一行即可。但是对于更新操作就相对比较慢一些,因为更新不仅会涉及读取操作还会涉及写入操作,当数据量大的时候,更新操作会更慢从而出现性能瓶颈。而Redis是将数据存储在内存中的,发给Redis的请求并不需要经过查询分析器和查询优化器进行处理,所以对Redis存储的数据执行写操作的速度非常快。使用Redis而不是其它关系数据库或者其它硬盘存储数据库,可以避免写入不必要的临时数据,也免去了对临时数据的扫描和删除的麻烦,并最终改善程序的性能。

Redis的安装和使用


下载成功之后运行: src/redis-server 打开服务器,结果如图:

重新打开窗口运行 src/redis-cli打开客户端,结果如图所示:

在后续练习命令的过程中,使用客户端是一个很不错的选择,在查看命令结果的同时还可以练习命令,在后续的更新中,会经常使用客户端进行交互,除非必要会使用Python进行交互。

写在后面的话

       刚开始接触Redis,通过基本的了解和简单的使用之后,发现Redis确实是一个好东西,不仅在结构上有很大不同,在写性能方面相比于传统型数据库有很大的提升,在应对某些需要进行大量写入的场景还是不错的选择,虽然是基于内存的数据库,但Redis有很多高级特性来保证数据安全,更多深入的内容,随着学习,我相信会有更加深刻的认识,本篇博客基本上是对概念和基本安装使用上有一个简单的介绍,更多的内容请期待后续更新....

Redis初体验的更多相关文章

  1. nginx+lua+redis初体验

    1.下载nginx.lua.redis nginx下载地址 wget  http://nginx.org/download/nginx-1.8.0.tar.gz lua下载地址 wget http:/ ...

  2. redis学习心得之一【安装redis初体验】

    在linux下安装redis 说起这个比mysql的安装过程简单多乐,它不需要configure,只需要解压之后make就可以,无需make install ~$ wget http://redis. ...

  3. Golang访问Redis初体验

    go语言的client在redis官网上有很多l客户端,个人感觉redigo使用起来更人性化,重要的是源代码结构很清晰,重要的是支持管道.发布和订阅.连接池等等,所以我选择redigo作为尝试. 1. ...

  4. 01.Redis 初体验

    0. Redis安装 官网下载Redis 解压缩 make make install 安装后的执行命令被保存在了/usr/local/bin目录下 1. 配置文件:redis.conf daemoni ...

  5. C# nosql之redis初体验

    Redis官方是不支持windows的,只是 Microsoft Open Tech group 在 GitHub上开发了一个Win64的版本,项目地址是: https://github.com/MS ...

  6. Spring boot集成redis初体验

    pom.xml: <?xml version="1.0" encoding="UTF-8"?> <project xmlns="ht ...

  7. Spring Boot + Redis 初体验

    本文测试环境: Spring Boot 2.1.4.RELEASE + Redis 5.0.4 + CentOS 7 让程序先 run 起来 安装及配置 Redis 参考: How To Instal ...

  8. 【Python3爬虫】爬取美女图新姿势--Redis分布式爬虫初体验

    一.写在前面 之前写的爬虫都是单机爬虫,还没有尝试过分布式爬虫,这次就是一个分布式爬虫的初体验.所谓分布式爬虫,就是要用多台电脑同时爬取数据,相比于单机爬虫,分布式爬虫的爬取速度更快,也能更好地应对I ...

  9. 【Python3爬虫】学习分布式爬虫第一步--Redis分布式爬虫初体验

    一.写在前面 之前写的爬虫都是单机爬虫,还没有尝试过分布式爬虫,这次就是一个分布式爬虫的初体验.所谓分布式爬虫,就是要用多台电脑同时爬取数据,相比于单机爬虫,分布式爬虫的爬取速度更快,也能更好地应对I ...

随机推荐

  1. Android studio 断点技巧

    写代码不可避免有Bug,通常情况下除了日志最直接的调试手段就是debug:那么你的调试技术停留在哪一阶段呢?仅仅是下个断点单步执行吗?或者你知道 Evaluate Expression , 知道条件断 ...

  2. java企业架构 spring mvc +mybatis + KafKa+Flume+Zookeeper

    声明:该框架面向企业,是大型互联网分布式企业架构,后期会介绍linux上部署高可用集群项目. 项目基础功能截图(自提供了最小部分)      平台简介        Jeesz是一个分布式的框架,提供 ...

  3. Hive的分区操作~~~~~~

    一.Hive分区(一).分区概念:为什么要创建分区:单个表数据量越来越大的时候,在Hive Select查询中一般会扫描整个表内容,会消耗很多时间做没必要的工作.有时候只需要扫描表中关心的一部分数据, ...

  4. background相关属性

    background-origin: 规定 background-position 属性相对于容器的哪一部分来定位. padding-box 背景图像相对于内边距框来定位:(默认) border-bo ...

  5. 《Android进阶》之第三篇 深入理解android的消息处理机制

    Android 异步消息处理机制 让你深入理解 Looper.Handler.Message三者关系 android的消息处理机制(图+源码分析)——Looper,Handler,Message an ...

  6. ES6解构赋值详解

    文章转载自:http://www.zhufengpeixun.cn/article/167 解构赋值(destructuring assignment)语法是一个 Javascript 表达式,这种语 ...

  7. 资深小白带你走进OS Memory

    图片来源:http://www.tomshardware.com/ 序言: Memory(内存)是一台计算机组成的重要部分,也是最基础的一部分.其它基础组件有主板.CPU.磁盘.显卡(可独立可集成)等 ...

  8. Eclipse之JSON导包

    1.选中要导包的工程-–>2.右击选择创建文件夹--->3.将要导的包复制到该文件夹下--–>4.右击要导入的包-->5.选择Build path->Add to Bui ...

  9. Python给多个变量赋值

    # Assign values directly a, b = 0, 1 assert a == 0 assert b == 1 # Assign values from a list (r,g,b) ...

  10. Scala note 1

    Recently I transit to use scala to program. scala is a functional and objected oriented language, bu ...