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值
redis 学习(1)-- redis 安装与启动的更多相关文章
- (转)redis 学习笔记(1)-编译、启动、停止
redis 学习笔记(1)-编译.启动.停止 一.下载.编译 redis是以源码方式发行的,先下载源码,然后在linux下编译 1.1 http://www.redis.io/download 先 ...
- zookeeper学习(零)_安装与启动
zookeeper学习(零)_安装与启动 最近换了新的电脑,终于买了梦寐以求的macbook.最近也换了新的公司,公司技术栈用到了zookeeper.当然自己也要安装学习下.省的渣渣的我,被鄙视就麻烦 ...
- Redis入门篇(安装与启动)
一.Redis介绍 Redis是NoSql的一种,在弄清楚Redis是个什么玩意之前,先了解下NoSql是什么.1.什么是NoSql NoSql,全名:Not Only Sql,是一种非关系型数据库, ...
- 【redis 学习系列】安装-配置-卸载Redis
一.安装 wget http://download.redis.io/releases/redis-3.0.7.tar.gz tar -zxf redis-.tar.gz ln -s redis- r ...
- redis学习笔记-redis的安装
Window 下安装 下载地址:https://github.com/MSOpenTech/redis/releases Redis 支持 32 位和 64 位.这个需要根据你系统平台的实际情况选择, ...
- redis学习之——redis.conf配置(基本)文件学习
# Redis configuration file example # Note on units: when memory size is needed, it is possible to sp ...
- Redis学习笔记~Redis主从服务器,读写分离
回到目录 Redis这个Nosql的存储系统一般会被部署到linux系统中,我们可以把它当成是一个数据服务器,对于并发理大时,我们会使用多台服务器充当Redis服务器,这时,各个Redis之间也是分布 ...
- (Nginx学习一)安装和启动及对应文件夹介绍
nginx 安装和启动及对应文件夹介绍 1 安装 官网下载nginx文件 http://nginx.org/en/download.html 解压即可 2 文件夹介绍 在解压后nginx压缩包后发现 ...
- Nginx 安装学习笔记(1.安装和启动)
centos7 编译安装和启动.停止https://www.cnblogs.com/xingyunblog/p/9072553.html 一.安装nginx 1.下载 wget http://ngin ...
- MongoDB学习记录(一) - 安装、启动与建立数据库
简要说明一个基本概念:MongoDB中的三要素:数据库(database).集合(collection)和文档(document). 文档:类似于JSON对象,由字段(field)和值(value)组 ...
随机推荐
- *CodeIgniter框架集成支付宝即时到账SDK
客户的网站需要支付功能,我们选择了业界用的最多的支付宝即时到账支付.申请了两次将近两周的时间终于下来了,于是我开始着手测试SDK整合支付流程. SDK中的代码并不复杂,就是构造请求发送,接收并验证签名 ...
- Java-内存模型(JSR-133)
Java 内存模型(Java Memory Model,JMM)看上去和 Java 内存结构(JVM 运行时内存结构)差不多,但这两者并不是一回事.JMM 并不像 JVM 内存结构一样是真实存在的,它 ...
- js如何获取鼠标位置
获取鼠标位置,首先需要加载js文件: 然后设置一个div,给定大小: 最后进行具体操作: //首先要先设置一个div,给定大小 <div id="m"></div ...
- 五十八:Flask.Cookie之flask设置和删除cookie
1.设置cookie:在flask.Response对象上,使用set_cookie('cookie名', 'cookie值')设置cookie set_cookie源码 key:cookie名val ...
- python 学习笔记(一):在列表、字典、集合中根据条件筛选数据
一.在列表中筛选数据 在列表中筛选出大于等于零的数据,一般通用的用法代码如下: data = [3, -9, 0, 1, -6, 3, -2, 8, -6] #要筛选的原始数据列表 result = ...
- python 中 __dict__函数的使用
class F: def __init__(self, name, age): self.name = name self.age = age obj = F('tom', 20)s = obj.__ ...
- Idea Debug多线程不进断点问题处理
Idea也会使我狼狈不堪,Eclipse下约定成俗,却非Idea的默认规则. 比如 DEBUG多个线程时,Idea的默认设定就会遇到断点不能进入的问题. 解决的方法: 点击DEBUF框下的双红点(Vi ...
- Python Deque 模块使用详解,python中yield的用法详解
Deque模块是Python标准库collections中的一项. 它提供了两端都可以操作的序列, 这意味着, 你可以在序列前后都执行添加或删除. https://blog.csdn.net/qq_3 ...
- 《Visual Studio程序员箴言》笔记
还记得刚工作时看到某前辈用快捷键操作Visual Studio,赞叹不已,才发觉原来快捷键熟练了效率可以如此之高.后来,我在为一个经常使用的命令添加快捷键的时候又发现Visual Studio的快捷键 ...
- PHP 註解規則使用方式
/** * 函數名稱 * 函數描述(有些會含HTML代碼) * * @access 變數可存取的權限 (Example: Public or Private) * @api 爲第三方來源的變數 * @ ...