redis概述Redis的作者Salvatore Sanfilippo在开发一个叫做LLOOGG的网站时,需要实现一个高性能的队列功能,最开始是使用MySQL实现,但是无论怎么优化SQL语句也没办法提高网站的性能,后来决定做一个专属于LLOOGG的数据库,这个就是Redis的前身,后来将Redis1.0的源码开放到GitHub上 。redis github
文章插图
Redis是一种开源、基于键值对(key-value)的NoSQL数据库,但是与很对键值对数据库不同的是Redis中的值可以由string(字符串)、hash(哈希)、list(列表)、set(集合)、zset(有序集合)、bitmaps(位图)、HyperLogLog、GEO(地理信息定位)等多种数据结构和算法组成 。而且因为Redis会将所有的数据放在内存中,所以它的读写性能是惊人的,不仅如此,Redis还可以将内存中的数据利用快照和日志的形式保存到硬盘上,这样发生类似断点或者是机器故障的时候,内存中的数据不会丢失 。除此以外Redis还提供了键过期、发布订阅、事务、流水线、Lua脚本等附加功能 。redis官网
文章插图
目前国外的Github、stackoverflow、Twitter以及国内的阿里巴巴、腾讯、新浪、美团、百度等都在使用Redis,无论你是开发人员还是运维人员Redis已经是你必须要掌握的一项技能 。
Redis特性
- 速度快Redis的数据存储在内存中,而内存的IO性能相比普通磁盘和固态磁盘的IO性能要高得多,这也是Redis高性能最主要的原因,而且Redis是使用C语言开发的,C语言相对于其他语言运行效率更高 。同时采用单线程的架构,也避免了多线程可能产生的竞争问题 。
- 持久化Redis的数据存储在内存中,容易造成机器断点后丢失数据,因此提供了持久化的功能,用于对数据的更新将异步的保存在磁盘上 。
- 多种数据结构Redis提供了string(字符串)、hash(哈希)、list(列表)、set(集合)、zset(有序集合)、bitmaps(位图)、HyperLogLog、GEO(地理信息定位)等多种数据结构和算法组成 。
- 支持多种主流的编程语言JAVA,Python,Go,Scala,Lua等主流编程语言
- 功能丰富支持发布订阅、Lua脚本、事务以及pipline等功能
- 简单Redis单机版的核心代码23000行,不依赖外部的库,使用单线程模型 。
- 主从复制Redis提供了主从复制的功能,实现将服务器的数据复制到从服务器上,也是实现高可用和分布式的基础 。
- 高可用、分布式Redis在2.8版本以后提供了Redis-Sentinel来支持高可用 。Redis3.0提供了Redis-Cluster来支持分布式 。
- 缓存系统
- 计数器(例如微博的转发数、评论数)
- 简单的消息队列系统
- 排行榜
- 社交网络
- 实时系统
本次演示的环境是基于centos7.8和Redis6.0.5,Redis官方没有提供windows版本的下载在安装Redis之前,首先需要下载Redis6.0.5
使用wget命令将redis6.0.5下载到/opt/soft目录下
[root@ittimeline opt]# mkdir /opt/soft[root@ittimeline opt]#wget http://download.redis.io/releases/redis-6.0.5.tar.gz--2020-07-04 18:02:53--http://download.redis.io/releases/redis-6.0.5.tar.gz正在解析主机 download.redis.io (download.redis.io)... 45.60.125.1正在连接 download.redis.io (download.redis.io)|45.60.125.1|:80... 已连接 。已发出 HTTP 请求,正在等待回应... 200 OK长度:2217666 (2.1M) [Application/octet-stream]正在保存至: “redis-6.0.5.tar.gz”100%[=======================================================================================>] 2,217,6664.58MB/s 用时 0.5s2020-07-04 18:02:54 (4.58 MB/s) - 已保存 “redis-6.0.5.tar.gz” [2217666/2217666])
下载完成以后解压redis6.0.5[root@ittimeline opt]# tar -xzf redis-6.0.5.tar.gz [root@ittimeline opt]# ll|grep redisdrwxrwxr-x. 7 root root4096 6月9 18:19 redis-6.0.5-rw-r--r--. 1 root root2217666 6月27 23:51 redis-6.0.5.tar.gz
解压缩完成之后建立一个软链接,方便管理和升级[root@ittimeline opt]# ln -s redis-6.0.5 redis[root@ittimeline opt]# ll|grep redislrwxrwxrwx. 1 root root11 7月4 18:07 redis -> redis-6.0.5drwxrwxr-x. 7 root root4096 7月4 18:04 redis-6.0.5-rw-r--r--. 1 root root2217666 6月27 23:51 redis-6.0.5.tar.gz
然后进入redis的目录使用make&&make install进行编译和安装[root@ittimeline opt]# cd redis[root@ittimeline redis]# pwd/opt/redis[guanglei@ittimeline redis]$ make&&make install
如果在编译时出现如下错误提示文章插图
推荐阅读
- 要成为一名成功的开发人员,您应该放弃的22件事
- 聊聊Spring boot2.X开发环境搭建和基本开发
- 人工智能开发者:如何选择人工智能领域?
- 为什么NodeJS是创业公司的首选?了解用于Web开发的NodeJS
- Python的安装
- 加解密算法分析
- Linux开发时常用Linux命令行使用技巧有哪些
- 产品经理的福音?亚马逊推出Honeycode,零代码即可开发软件
- Win10系统下搭建Go lang开发环境更换国内源并且体验宇宙最快框架
- 前端老司机都在用的Chrome开发者工具15 个小技巧,你用过几个?