Redis初体验
简介
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初体验的更多相关文章
- nginx+lua+redis初体验
1.下载nginx.lua.redis nginx下载地址 wget http://nginx.org/download/nginx-1.8.0.tar.gz lua下载地址 wget http:/ ...
- redis学习心得之一【安装redis初体验】
在linux下安装redis 说起这个比mysql的安装过程简单多乐,它不需要configure,只需要解压之后make就可以,无需make install ~$ wget http://redis. ...
- Golang访问Redis初体验
go语言的client在redis官网上有很多l客户端,个人感觉redigo使用起来更人性化,重要的是源代码结构很清晰,重要的是支持管道.发布和订阅.连接池等等,所以我选择redigo作为尝试. 1. ...
- 01.Redis 初体验
0. Redis安装 官网下载Redis 解压缩 make make install 安装后的执行命令被保存在了/usr/local/bin目录下 1. 配置文件:redis.conf daemoni ...
- C# nosql之redis初体验
Redis官方是不支持windows的,只是 Microsoft Open Tech group 在 GitHub上开发了一个Win64的版本,项目地址是: https://github.com/MS ...
- Spring boot集成redis初体验
pom.xml: <?xml version="1.0" encoding="UTF-8"?> <project xmlns="ht ...
- Spring Boot + Redis 初体验
本文测试环境: Spring Boot 2.1.4.RELEASE + Redis 5.0.4 + CentOS 7 让程序先 run 起来 安装及配置 Redis 参考: How To Instal ...
- 【Python3爬虫】爬取美女图新姿势--Redis分布式爬虫初体验
一.写在前面 之前写的爬虫都是单机爬虫,还没有尝试过分布式爬虫,这次就是一个分布式爬虫的初体验.所谓分布式爬虫,就是要用多台电脑同时爬取数据,相比于单机爬虫,分布式爬虫的爬取速度更快,也能更好地应对I ...
- 【Python3爬虫】学习分布式爬虫第一步--Redis分布式爬虫初体验
一.写在前面 之前写的爬虫都是单机爬虫,还没有尝试过分布式爬虫,这次就是一个分布式爬虫的初体验.所谓分布式爬虫,就是要用多台电脑同时爬取数据,相比于单机爬虫,分布式爬虫的爬取速度更快,也能更好地应对I ...
随机推荐
- maven学习2,安装插件
eclipse 安装插件的方式最常见的有两种: 1. 一种是在线安装,这貌似是用的最多的,就是:Help --> Install New Software,然后输入 HTTP 地址来安装,但 ...
- iOS开发中,info.plist配置用户隐私的保护
info.plist 配置[用户隐私的保护] >= iOS10 Privacy - Bluetooth Peripheral Usage Description --> App需要您的 ...
- 20170515-20170523学习计划---学习java(1)
背景: 组内搞了一个读书会,我是负责人,我们学习的主题是java,为了更好服务读书会,所以安排一下学习计划,到时候在读书会上做分享. 这是第二次读书会,第一次讲了java的一些基本知识,这次只要学习对 ...
- javaWeb学习总结(1)- JavaWeb开发入门
一.基本概念 1.1.WEB开发的相关知识 WEB,在英语中web即表示网页的意思,它用于表示Internet主机上供外界访问的资源. Internet上供外界访问的Web资源分为: 静态web资源( ...
- Dubbo微容器(Cooma)详解
ExtensionLoader ExtensionLoader是Dubbo中的SPI的实现方法,它是Dubbo框架的微容器,也为框架提供各种组件的扩展点 三种注解 SPI Adaptive Activ ...
- Android 内存泄漏分析与解决方法
在分析Android内存泄漏之前,先了解一下JAVA的一些知识 1. JAVA中的对象的创建 使用new指令生成对象时,堆内存将会为此开辟一份空间存放该对象 垃圾回收器回收非存活的对象,并释放对应的内 ...
- File 常用方法
1.判断当前文件是否封装的文件夹目录 //返回true--是,false--不是 File file =new File("C:\\Users\\mac\\Desktop\\复习.txt&q ...
- 使用Post方法模拟登陆爬取网页
最近弄爬虫,遇到的一个问题就是如何使用post方法模拟登陆爬取网页.下面是极简版的代码: import java.io.BufferedReader; import java.io.InputStre ...
- 部署项目到weblogic时提示文件被锁,导致报错
部署项目到weblogic中出现一个“黄叹号!”.报错如下: (1) Deployment is out of date due to changes in the underlying projec ...
- 抽象工厂(AbstractFactory)模式-创建型模式
1.new 的问题 常见的对象创建方法: //创建一个Road对象 Road road=new Road(); new的问题:实现依赖,不能应对具体实例的变化 怎么理解上面这句话呢? 可以这样理解:我 ...