简介

       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. Collection<E>、Iterable<T>和Iterator<E>接口

    Collection接口 public interface Collection<E>extends Iterable<E> Collection接口主要包含以下方法: Ite ...

  2. Linux设备中的并发控制

    一.自旋锁1.定义自旋锁:spinlock_t lock2.初始化自旋锁:spin_lock_init(lock)3.获得自旋锁:spin_lock(lock)4.释放自旋锁:spin_unlock( ...

  3. ER模型的学习

    (计应154兰家才)在建立表后开始了学习的第一步,了解数据库的基本知识,就以建立bbs论坛为标准学习er模型,首先建立了4个表分别是BBSReply,BBSSection,BBSTopic,BBSUs ...

  4. Windows 2008 R2下 如何简单使用IIS来配置PHP网站

    虽然PHP网站配置一般大多数人可能会联想到用Apache+php+mysql来配置,但是呢,如果是为了安全性考虑或者是说是为了便捷高效快速的完成工作,那么Apache+php+mysql这个配置工作就 ...

  5. C#之自定义特性

    在前面介绍的代码中有使用特性,这些特性都是Microsoft定义好的,作为.NET Framework类库的一部分,许多特性都得到了C#编译器的支持. .NET Frmework也允许定义自己的特性. ...

  6. 读Zepto源码之集合操作

    接下来几个篇章,都会解读 zepto 中的跟 dom 相关的方法,也即源码 $.fn 对象中的方法. 读Zepto源码系列文章已经放到了github上,欢迎star: reading-zepto 源码 ...

  7. 解决xshell连接不上Ubuntu

    起初,我虚拟上网是通过NAT上网的,xshell 可以正常连接Ubuntu . 后来有段时间,主机上网频繁断线,于是,我将网络适配器VM1,VM8禁用了. 还有一次,麻烦公司同事远程协助,虚拟机通过桥 ...

  8. TP框架 增删查

    TP框架添加数据到数据库1.使用数组方式添加造模型对象 2.使用AR方式 强类型语言存在的方式 3.使用自动收集表单添加 :只能用POST方式,提交数据一个操作方法实现两个逻辑:A显示页面B得到数据 ...

  9. C# MVC权限验证

    前言 之前一直没怎么接触过权限验证这块,刚好公司老平台改版,就有了这篇权限验证.此篇文章大致讲解下 精确到按钮级别的验证如何实现.以及权限验证设计的参考思路(菜鸟一枚,大神勿喷). 在开发大项目的时候 ...

  10. springboot 获取hibernate 的 SessionFactory

    注入bean package cn.xiaojf; import cn.xiaojf.today.data.rdb.repository.RdbCommonRepositoryImpl; import ...