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 ...
随机推荐
- LinkedBlockingDeque
1.LinkedBlockingDeque public class LinkedBlockingDeque<E> extends AbstractQueue<E> imple ...
- 自己写的书《深入理解Android虚拟机内存管理》,不出版只是写着玩
百度网盘地址:https://pan.baidu.com/s/1jI4xZgE 我给起的书名叫做<深入理解Android虚拟机内存管理>.本书分为两个部分,前半部分主要是我对Linux0. ...
- 学生成绩管理C++版
[标题]学生成绩管理的设计与实现 [开发语言]C++ [主要技术]STL [概要设计]类名:student 类成员:No.Name.Math.Eng.Chn.Cpro.Sum 成员函数:getname ...
- Android相机是如何获取到图像的
在研究zxing的过程中,脑袋中一直有个疑惑,那个相机并没有拍照,它是怎么获取图像的 带着这个疑惑查看Camera源码 Camera源码中有这样一个接口: public interface Previ ...
- 014 一对多关联映射 单向(one-to-many)
在对象模型中,一对多的关联关系,使用集合来表示. 实例场景:班级对学生:Classes(班级)和Student(学生)之间是一对多的关系. 多对一.一对多的区别: 多对一关联映射:在多的端加入一个外键 ...
- app界面设计字体规范
通过对不同类型的app进行总结,总结出app的字体规范. 一.字体选择 1.IOS:苹果ios 9系统开始,系统最新的默认中文字体是:苹方.英文字体是: San Francisco 2.Android ...
- 关于RFID2.4G 标签卡最新方案
它是一款针对RFID有源卡行业设计的,是一款单向的2.4G频段RF射频芯片,目前主要针对低功耗的校讯通, 2.4G停车场,电动车防盗, 闪光灯设备(引闪器) ,智能家居等领域.SI24R2E 同样与S ...
- 对于php内存释放问题
大家在使用PhpExcel类时,当打开一个比较大的excel数据文档,会出现Fatalerror: Allowed memorysize of 67108864 bytes exhausted (tr ...
- STM32伺服编码器接口
在STM32的高级定时器和一般定时器中有Encoder interface mode(编码器接口),TI1和TI2分别对应TIM_CH1 和TIM_CH2 通道. 一.计数规则如下: 表55的是编码器 ...
- Ch1. Intro to Programming
1-1 Input three integers and output the average number. Keep three decimal places. #include<stdi ...