redis 学习(1)-- redis 安装与启动
时间:2022-06-21
本文章向大家介绍redis 学习(1)-- redis 安装与启动,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
redis 学习(1)-- redis 安装与启动
redis 特性
关于 redis 的介绍网上已经有很多信息了,这里我就不在详细说明了。介绍一下几个鲜明特性:
1.速度快
- 官方称可以达到10W的qps
- 将数据存储在内存中
- 由C语言编写
- 线程模型为单线程
2.持久化
- Redis将所有数据保持在内存中,并异步更新到磁盘上
3.支持多种数据结构
- String
- Hash
- List
- Set
- ZSet
- BitMap(位图)
- HyperLogLog(超小的内存唯一值计数器)
- GEO(地理信息定位)
4.支持多种编程语言
5.功能丰富
- 支持类MQ的发布订阅功能
- 支持Lua脚本
- 支持事务
- 支持pipeline
6.非常简单
- Redis 3.0的单机核心代码只有2300行代码
- 单线程模型
7.支持主从复制
8.高可用、分布式
redis 安装
推荐在 linux 环境下安装,redis 作者并没有做 Windows 环境下的兼容,虽然微软官方有解决方案,但是难免会出现一系列未知的问题,这里我以使用 redis 3.0.7 版本为例,介绍 Linux 下 redis 的安装。
- 下载 redis 压缩文件(我自己是放到 /opt/soft 目录下) wget http://download.redis.io/releases/redis-3.0.7.tar.gz
- 解压压缩文件 tar -xzf redis-3.0.7.tar.gz
- 建立软链接(便于目录管理,后期升级和维护) ln -s redis-3.0.7 redis
- 移动到 redis 目录 cd redis
- 安装 make && make install
在命令行中执行上述命令,等待安装完成。
redis 可执行文件说明
安装结束后,我们移动到 redis/src 目录下,可以看到一些 redis 可执行文件:
ls | grep redis-
名称 |
作用 |
---|---|
redis-server |
启动 redis 服务器 |
redis-cli |
redis 命令行客户端 |
redis-benchmark |
redis 性能测试工具 |
redis-check-aof |
AOF 文件修复工具 |
redis-check-dump |
RDB 文件检查工具 |
redis-sentinel |
Sentinel 服务器(2.8以后) |
三种启动方式比较
redis 启动有三种方式:
- 最简启动
- 动态参数启动
- 配置文件启动
最简启动
redis-server
该启动方式将使用 redis 的默认配置。
默认使用端口 6379 ,日志信息直接打印在屏幕上。
验证:
ps -ef | grep redis
netstat -antpl | grep redis
redis-cli -h ip -p port ping
redis命令行客户端 连接 redis 服务器进行验证
同样的,我们不加参数,使用最简启动时客户端还是会连接默认端口:
动态参数启动
我们指定端口号启动 redis:
redsi-server --port 6380
同样的还是在前台打印出了日志信息,并且端口号变为了指定的 6380。
我们进行验证,依旧可以进行操作:
redis-cli -p 6380
查看进程:
ps -ef | grep redis-server | grep -v grep
配置文件启动
在日常的开发使用中,我们一般都是采用配置启动的方式,因为涉及到很多配置参数,明显配置文件启动才更符合我们的需求。
步骤如下:
- 在 redis 目录下建立一个 config 目录,用来存放配置文件。将 redis.conf 拷贝到该目录。 mkdir config cp redis.conf conf/
- 移动到 conf/ 目录,我们将
redis.conf
文件中去掉注释和空格的参数部分打印出来,并重定向到一个新的文件redis-6381.conf
,然后删除redis.conf
。 cat redis-6381.conf | grep -v "#" | grep -v "^$" -> redis-6382.conf rm redis.conf - 打开
redis-6381.conf
文件,我们可以看到很多配置参数,这里暂时不用去管那么多参数,我们保留下面几个参数即可。 daemonize yes # 守护进程 port 6381 # 端口号 dir "/opt/soft/redis/data" # 工作目录 logfile "6381.log" # 日志信息 - 返回 redis 目录,建立一个 data 目录。
- 使用下列命令启动 redis。 redis-server conf/redis-6381.conf 可以看到控制台什么都没返回,说明 redis 以守护进程的方式启动了。
- 查看进程是否存在。 ps -ef | grep redis-server | grep 6381
- 查看日志是否存在。 cat data/6381.log
- 关闭 redis。 此时 redis 作为守护进程,我们可以使用下列命令关闭: kill -9 PID值
- Canvas 图片平铺设置
- Canvas 给图形绘制阴影
- State模式的经典应用场景:订单处理(c#实现)场景描述遇到问题解决问题走起
- ASP.NET SignalR 2.0入门指南介绍SignalRSignalR和WebSocket传输和回滚HTML5 传输协议Comet transports传输协议选择过程监测传输指定传输协议连接
- ASP.NET5之客户端开发:Grunt和Gulp构建工具在Visual Studio 2015中的高效的应用Grunt和Gulp使用Grunt准备项目配置NPM配置Grunt集成起来监测文件变化与V
- 有趣的算法(三)——Hash算法
- JavaScript中的数据类型
- Logistic回归算法及Python实现
- <script>元素在XHTML中的用法
- 有趣的算法(四)——一致性Hash算法模拟redis集群
- ASP.NET5 中静态文件的各种使用方式服务端的静态文件开启目录浏览呈现默认文件使用UseFileServer方法文件类型基于IIS的考虑最佳实践
- 使用ASP.NET Identity以手机短信实现双重验证创建一个ASP.NET 5项目运行应用程序使用SMS短信进行双重验证开启双重验证使用双重验证登陆应用程序禁用账户来防止暴力破解
- ASP.NET 5 之 错误诊断和它的中间件们配置错误处理页面在Development阶段使用错误页面运行时信息页面欢迎页面
- 有趣的算法(五) ——Dijkstra双栈四则运算
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Java——static关键字总结(含义、定义属性或方法、使用时机)
- Java——try catch finally异常的捕获及处理逻辑实例详解大全
- Java——String类使用详解(实例化、字符串比较、匿名对象、两种实例化方法的区别)
- Java——数组的定义与使用(基本概念、引用分析、初始化方式、二维数组、对象数组)
- Java——单例设计模式
- Java——包的定义及使用
- Java——Object类(基本概念、toString()方法、equals()方法、可以接收所有引用类型)
- JavaWeb——MyBatis框架之对数据库的增删改查操作CRUD实践及MyBatis参数的深入详解
- JavaWeb——MyBatis框架之入门总结及案例实战,常见坑处理:Failed to execute goal org.codehaus.mojo:exec-maven-plugin:3.0.0
- JavaWeb——MyBatis框架之执行过程原理与解析(通过自定义MyBatis查询所有操作的实现来观察整个过程)
- Java——抽象类(基本概念、使用原则、模板设计模式)
- Java——覆写(概念、覆写的意义、覆写的要求)
- Java——继承性(继承的作用、实现、限制)
- JavaWeb——JSON语法讲解与Jackson解析器完成JSON数据与Java对象的转换(应用Ajax与JSON实现校验用户名是否在的功能)
- JavaWeb——JQuery之高级案例实战(打开网页自动弹出广告效果、抽奖效果实现)