前言

这个redis系列的文章将会记录博主学习redis的过程。基本上现在的互联网公司都会用到redis,所以学习这门技术于你于我都是有帮助的。

博主在写这个系列是用的是目前最新版本4.0.10,虚拟机装的是4.0.10,为了方便window也安装了(版本3.2.100)。后续命令会采用命令行,jedis和spring集成jedis这三种方式进行操作。

在这片博文的开始,可以先试着问几个问题,带着问题看博文,或许能更有收获。

  1. 什么是redis?
  2. 为什么要使用redis?
  3. 如何搭建redis环境?

什么是redis?

Redis 是开源的(Github地址),采用BSD协议,C语言编写的、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库。

它支持不同类型的value,包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hash(哈希类型)、基数统计的算法 HyperLogLogs, 位图Bitmaps 。

这些数据的操作不仅仅有设置值和获取值方法,还支持更复杂的操作方式,例如交集、并集、差集等等。

为什么要使用redis

想要知道为什么要使用redis前,需要先知道为什么要用缓存。

为什么要用缓存

当一个应用的数据量或者用户量上来后,如果每一次的查询都去访问数据库,或造成数据库效率变慢甚至崩溃。

而且在大多数应用中都是读多写少的,就可以将这些经常读的数据放到另外一个地方去(也就是缓存),让系统先从这个地方(缓存)获取,获取不到在查询数据库。这样可以大大的减少数据库的压力。

有没有其他的缓存

有,经常与redis做比较的memcache,这里就不比较它们的区别了,有兴趣的可以自己搜索。

我们来看看redis的其它方面

redis特点

  • Redis支持数据的持久化,可以将内存中的数据保持在磁盘中,重启的时候可以再次加载进行使用。
  • Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。
  • Redis支持数据的备份,即master-slave模式的数据备份。

Redis 优势

  • 性能极高 – Redis能读的速度是110000次/s,写的速度是81000次/s 。
  • 丰富的数据类型 – Redis支持二进制案例的 Strings, Lists, Hashes, Sets 及 Ordered Sets 数据类型操作。
  • 原子 – Redis的所有操作都是原子性的,同时Redis还支持对几个操作全并后的原子性执行。
  • 丰富的特性 – Redis还支持 publish/subscribe, 通知, key 过期等等特性。

如何搭建redis环境?

下载

window上的64位redis下载地址https://github.com/MicrosoftArchive/redis/releases

linux 官网地址: https://redis.io/download

目前官网首页提供的版本是4.0.10

Redis版本列表 :http://download.redis.io/releases/

window

将下载下来的文件解压或者安装,目录如下

双击redis-server.exe启动redis服务

双击redis-cli.exe启动redis客户端

linux

用linux命令wget

wget http://download.redis.io/releases/redis-4.0.10.tar.gz

或者从官网下载,然后上传文件到linux上

解压

tar xzf redis-4.0.10.tar.gz

进入redis目录,编译

cd redis-4.0.10
make

启动服务

src/redis-server

或者进入src目录

./redis-server

想要后台启动最后加个&

src/redis-server &

这样启动的话,系统已重启又要重新启动redis服务

我们可以加到系统启动里面,让它开机自启动

注:出现问题 Could not connect to Redis at 127.0.0.1:6379: Connection refused

找到redis目录的redis.conf 文件

修改daemonize nodaemonize yes ,也就是将no改为yes,目的是开启守护线程模式,可以在后台运行

开启客户端

src/redis-cli

或者进入src目录

./redis-cli

在线测试 redis http://try.redis.io/

后续内容

命令介绍
  • Cluster
  • Connection
  • Geo
  • Hashes
  • HyperLogLog
  • Keys
  • Lists
  • Pub/Sub
  • Scripting
  • Server
  • Sets
  • Sorted Sets
  • Streams
  • Strings
  • Transactions
redis事务
Redis的数据持久化
redis主从、哨兵、集群

等等

redis系列:redis介绍与安装相关推荐

  1. Redis系列(一)--安装、helloworld以及读懂配置文件

    再开个redis系列,本系列打算不详细讲一系列的命名的了(会推荐别人写的,人家写的够详细了),我直接就是做redis方案提供,当然一开始还是讲下helloworld和配置文件好了.会逐步更新,欢迎关注 ...

  2. 一、Redis入门之——介绍、安装,图形化界面(GUI)工具Redis Desktop Manager (RDM)安装

    一.Redis简介 引用官方文档的介绍: Redis 是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据库. Redis 与其他 key - value 缓存产品有以下三个特点: ...

  3. Redis系列-Redis笔记(一)

    Redis基础 Redis安装 # 下载 cd /tmp wget http://download.redis.io/releases/redis-3.2.11.tar.gz # 解压 tar -zx ...

  4. redis系列-redis基础知识总结

    一.Redis 设计架构 1.1.Redis整体架构和redis学习思路 上图是我理解的redis单机工作的一个概图. 我尝试从以下基本内容来学习redis: 单机redis 就单机版而言,我们可以从 ...

  5. redis 启动_Redis介绍amp;安装amp;启动

    Redis介绍安装 Redis是一个开源的key-value存储系统, 支持存储的value类型相对更多,string(字符串),list(链表),set(集合),zset(sorted set 有序 ...

  6. redis系列-redis的持久化

    redis对数据的持久化有两种方式:RDB(快照保存)和AOF(命令日志). RDB 介绍:将内存快照保存到磁盘,dump.rdb二进制文件 触发:满足"N 秒内数据集至少有 M 个改动&q ...

  7. redis系列-redis的连接

    Redis 是完全开源免费的,遵守BSD协议,先进的key - value持久化产品.它通常被称为数据结构服务器,因为值(value)可以是 字符串(String), 哈希(Map), 列表(list ...

  8. LaTeX 系列(1) —— 介绍、安装和使用

    撰写学术论文,经常会听人提到的一个排版工具就是LaTeX,于是今天就来入坑学习一下这个神奇的工具.本文主要基于Windows系统,先简单体验一下. 介绍 TeX是一个排版工具,然后LaTeX是基于Te ...

  9. pyside2 系列之介绍,安装,简单例子

    很多人都知道qt在python下有pyqt5,那为什么还要个pyside2呢? 大家可以参考下知乎的一篇文章,大致是说: Pyside的诞生主要是Nokia与Riverbank Computing谈崩 ...

  10. Redis系列(三)--过期策略

    制定Redis过期策略,是整个Redis缓存策略的关键之一,因为内存来说,公司不可能无限大,所以就要对key进行一系列的管控. 文章结构: (1)理解Redis过期设置API(命令与Java描述版本) ...

最新文章

  1. 使用postman传递参数时报错:Content type ‘multipart/form-data;boundary=--(略)
  2. Android App内存优化之图片优化
  3. oracle 如何更改为归档模式
  4. 加密解密(源自Discuz!NT3.1)
  5. AES 主动转向 紧急转向 避障系统 转向避障 五次多项式 PID控制 纯跟踪控制 MPC控制 模型预测
  6. java队徽_求实况足球10PC版(PES6)存档修改器 PESFan Editor 6所需的Java程序(必须是能够下载的链接,死链接免扰!...
  7. js植物大战僵尸实训1
  8. 什么是TPS,什么是QPS
  9. IMU使用入门——WT901CM
  10. swift android界面,使用 Swift 语言编写 Android 应用入门
  11. Improved Pre-Warping for Wide Angle, Head Mounted Displays
  12. 数码管显示电路分析-74hc138+74hc164
  13. Python热门单元测试框架对比:pytest和unittest还傻傻分不清楚?
  14. c语言中的return 0有什么用?
  15. JAVA程序设计:买卖股票的最佳时机含手续费(LeetCode:714)
  16. k8s集群搭建-1mater2node
  17. 开发必备的图片格式——.9图的原理和陷阱
  18. 汇编语言中sbb是什么意思_汇编语言里 sub是 什么功能?
  19. XCTF-攻防世界CTF平台-Reverse逆向类——56、tar-tar-binks(Mac平台下的64位动态链接共享库.dylib逆向)
  20. Python - Excel转json

热门文章

  1. 我选择的是一种生活态度
  2. dtgrid 手动条件删除表格中的某一行
  3. PAT 00-自测1. 打印沙漏(20)
  4. Perl 数字与字符串运算符之区别
  5. Objective-C 的 self 和 super 详解
  6. asp.net ajax实现在线人员的显示
  7. 【maven】maven入门以及maven常用命令
  8. apipost脚本使用一
  9. 性能测试之二——性能测试的流程
  10. 关于JS中一些重要的api实现,巩固你的原生JS功底