1) 首先在Redis官网下载安装包:
http://redis.io/download(redis-4.0.9.tar.gz)
2、在/usr/local/创建一个redis文件夹,redis下分别创建bin和conf,logs
3、 解压redis安装包至指定目录下
tar zxvf redis- 4.0.9.tar.gz /usr/local/
4、在/usr/local/redis-4.0.9下执行编译命令:make
出现以上信息说明成功
5、 在/usr/local/redis-4.0.9/src下执行安装命令:make install
6、文件拷贝
将redis-4.0.9/src目录下(redis-check-aof redis-cli redis-server redis-benchmark redis-check-rdb redis-sentinel) 拷贝至/usr/local/redis/bin
既 (1)cp redis-check-aof /usr/local/redis/bin
(2)cp redis-cli /usr/local/redis/bin
(3)cp redis-server /usr/local/redis/bin
(4)cp redis-benchmark /usr/local/redis/bin
(5)cp redis-check-rdb /usr/local/redis/bin
(6)cp redis-sentinel /usr/local/redis/bin
7、将/usr/local/redis-4.0.9目录下redis.conf配置文件拷贝至/usr/local/redis/conf
8、启动服务
接下来运行redis服务:
一下截图:
说明启动成功了
9 、后台启动
10、验证安装正确性
11、修改登录密码
1、初始化Redis密码:
在配置文件中有个参数: requirepass 这个就是配置redis访问密码的参数;
比如 requirepass test123;
(Ps:需重启Redis才能生效)
2、不重启Redis设置密码:
在配置文件中配置requirepass的密码(当redis重启时密码依然有效)。
redis 127.0.0.1:6379> config set requirepass 123456
3、查询密码:
redis 127.0.0.1:6379> config get requirepass (error) ERR operation not permitted
密码验证:
redis 127.0.0.1:6379> auth 123456
OK
再次查询:
redis 127.0.0.1:6379> config get requirepass 1) "requirepass" 2) "123456"
既然:截图如下:
安装Redis 非结构化数据库
标签:文件拷贝 文件中 bin 127.0.0.1 设置 under 说明 结构 opera
小编还为您整理了以下内容,可能对您也有帮助:
Redis技法篇 - 1. Redis的安装与配置
Redis可以说是除MySQL之外用的最多的一个数据库了!众所周知,它是一个种非关系型数据库(NoSQL),当然它的出现也绝不是为了取代MySQL。非关系型数据库有很多种类型:面向列的NoSQL、基于图的NoSQL、文档型NoSQL ...... Redis是一种Key-Value型的NoSQL。
使用Redis并不难,他和MySQL的关系也不大,甚至我觉得Redis的学习难度要小于MySQL。但是Redis在目前的技术架构中非常常见,它的作用也绝对不仅仅是缓存中间件,所以很显然这是Java从业者的必备技能。Redis在大厂面试中出现的频率非常的高,学好它能帮助你在面试中脱颖而出!
其实在写这份学习资料的时候,我才刚刚毕业,也谈不上多么精通Redis!但是我觉得学习任何一门数据库都是一个循序渐进的过程。先熟练掌握它的使用、然后了解它的底层原理、接着在实践中应用它、最后就是读源码完全吃透它!因为读者水平有限接下来我将推出 「《Java之禅 | Redis篇》」 ,希望能够给苦海中的同学一些指引,其实我觉得学完这两篇再背一下面经就可以和面试官侃侃而谈了!
最重要的事情说三遍: 「一定要多练、多练、多练!照着文档多敲多写,熟能生巧,切忌光看不动手!」
学习Redis一定逃不过黄健宏老师的这本 「《Redis设计与实现》」 ,这本书并不是教你怎么使用Redis的,而是带你深入了解Redis内部原理的!总结起来就是:通俗易懂、恍然大悟!
当然黄老师还有一本 「《Redis使用手册》」 ,这个的热度远远不如前一本,这本书更像是一本工具书,系统化介绍Redis命令和使用。
视频的话其实我觉得做的比较好的是 「尚硅谷的《Redis6入门到精通》和黑马程序员的《Redis入门到实战》」 。
「《Java之禅 | Redis篇》」 是我接下来要整理并开源的一份资料,我希望它能够以更加通俗易懂地方式教你使用和理解Redis。
写这个的初衷当然是希望后人能够更加顺畅的学习和使用它,我的学习之路其实挺艰难的,感觉很多教学视频讲的都不是太好,然后CSDN博客又有点乱,希望自己能够把我的理解与心得帮助其他人吧!
这份资料全篇分为 「《Redis技法》和《Redis基石》」 两部分。《Redis技法》主要是教你怎么使用,从简单的客户端到Java操作到高级应用,不涉及Redis的原理。《Redis基石》主要是学习Redis的设计思想和内部思路,希望能够窥探到一些Redis的底层实现,帮助大家更好地了解Redis。
作者:一壶漂泊难入喉
原文出处:https://mdnice.com/writing/264777dd98904db580e4c874cb6dcaea
求windows7下安装redis的方法
windows7安装redis方法:
1、下载Redis的压缩包
https://github.com/dmajkic/redis/downloads
我下载的是redis-2.4.5-win32-win64.zip
下载完后将其解压放在自己要放的目录下
解压后的目录
如果你是32位的话就进32bit的文件夹,64位就进64bit文件夹
文件夹进去后会看到一下的几个文件
redis-benchmark.exe: 性能测试 模拟N个客户端发送set,get请求
redis-check-aof.exe:更新日志检查
redis-check-mp.exe:本地数据库检查
redis-server.exe:服务程序
接下来就是安装了
打开dos命令栏,进入到redis的目录下面,输入以下命令:
redis-server.exe redis.conf
安装成功
然后再打开一个dos命令栏,进入到redis的目录下,输入以下命令:
redis-cli.exe -h 127.0.0.1 -p 6379
测试一下
set key value 存值
get key 取值
Linux下安装配置redis详细教程,并配置哨兵模式
redis版本为redis-3.2.12,使用工具将安装包上传到data目录。
在data目录下创建文件夹redis,将redis安装在此目录。
第一步:解压。
第二步:安装,PREFIX=/data/redis用来设置安装目录。
到此,redis已经安装完成,剩下就是配置和启动服务。
进入redis目录, 创建配置文件conf、日志logs、数据库mp、进程号pid四个目录,用来存放对应的文件,这四个目录也可以存放在其他文件夹,只要与配置文件中的配置一致即可,否则在启动服务时会报错。 其中bin目录就是redis安装成功后的一些命令文件。
redis服务配置一主二从,哨兵模式。注意:如果在实际开发中用不到哨兵模式,redis服务配置一主一从即可。
主Redis配置:redis_6379.conf
从Redis配置,redis_6380.conf和redis_6381.conf,与主Redis配置基本上一样,不一样的地方在于 端口、数据库、日志、pid文件名称 ,都以6380或6381为标志, 最重要的地方是建立主从关系和同步验证。
注意: 对只使用redis服务 ,只需要在主Redis里面配置requirepass,在从Redis里面配置masterauth,密码保持一致,密码尽可能复杂,以免被攻击破解。
注意: 对只使用redis服务 ,如果从Redis也有必要加入访问验证,也可以设置requirepass,而且密码可以与主Redis密码不同。
将配置文件放置到/data/redis/conf目录下,然后就可以启动服务了。
启动服务要按照主从顺序依次启动。
查看服务启动情况:
也可以通过查看日志文件来确认服务是否正常启动。
通过客户端登录Redis验证数据同步情况:
主Redis登录验证,设置数据:
从Redis登录,获取数据:从Redis并没有设置密码,所以无需验证就可以操作。
配置哨兵模式:
Redis Sentinel集群通常由3到5个节点组成,如果个别节点挂了,集群还可以正常运作。Sentinel负责监控Redis集群的 健康 情况。
如果主Redis挂掉,Sentinel集群会通过投票选择一个新的主Redis。 当原来的主Redis恢复时,它会被当做新的主Redis的从Redis重新加入Redis集群。
设置连接master和slave的密码,需要注意的是sentinel不能分别为master和slave设置不同的密码,因此master和slave的密码必须设置相同。也就是说主Redis和从Redis都必须设置requirepass和masterauth,而且密码必须相同。
sentinel.conf配置信息:
将该配置文件放置到/data/redis/conf目录下,启动sentinel服务:
验证sentinel是否起作用,可以手工shutdown掉主Redis。
这时从Redis想要访问主Redis同步数据就会提示错误信息:
sentinel在监测到主Redis宕机之后,通过选举,将一个从Redis选定为新的主Redis。通过查看sentinel日志可以发现,选定6380为新的主Redis,同时将另外两个Redis作为从Redis。
注意:选定6380为主Redis后,所有的配置文件都会被修改,主要是重新建立主从关系。
6379会新增:slaveof 127.0.0.1 6380
6380会删掉:slaveof 127.0.0.1 6379
6381会修改:slaveof 127.0.0.1 6380
由于6379服务已经关掉,所以虽然sentinel将6379作为6380的从服务,但是没有真正的建立。
重新启动6379服务,这时sentinel会重建建立一次主从关系:
Linux下安装配置redis详细教程,并配置哨兵模式
redis版本为redis-3.2.12,使用工具将安装包上传到data目录。
在data目录下创建文件夹redis,将redis安装在此目录。
第一步:解压。
第二步:安装,PREFIX=/data/redis用来设置安装目录。
到此,redis已经安装完成,剩下就是配置和启动服务。
进入redis目录, 创建配置文件conf、日志logs、数据库mp、进程号pid四个目录,用来存放对应的文件,这四个目录也可以存放在其他文件夹,只要与配置文件中的配置一致即可,否则在启动服务时会报错。 其中bin目录就是redis安装成功后的一些命令文件。
redis服务配置一主二从,哨兵模式。注意:如果在实际开发中用不到哨兵模式,redis服务配置一主一从即可。
主Redis配置:redis_6379.conf
从Redis配置,redis_6380.conf和redis_6381.conf,与主Redis配置基本上一样,不一样的地方在于 端口、数据库、日志、pid文件名称 ,都以6380或6381为标志, 最重要的地方是建立主从关系和同步验证。
注意: 对只使用redis服务 ,只需要在主Redis里面配置requirepass,在从Redis里面配置masterauth,密码保持一致,密码尽可能复杂,以免被攻击破解。
注意: 对只使用redis服务 ,如果从Redis也有必要加入访问验证,也可以设置requirepass,而且密码可以与主Redis密码不同。
将配置文件放置到/data/redis/conf目录下,然后就可以启动服务了。
启动服务要按照主从顺序依次启动。
查看服务启动情况:
也可以通过查看日志文件来确认服务是否正常启动。
通过客户端登录Redis验证数据同步情况:
主Redis登录验证,设置数据:
从Redis登录,获取数据:从Redis并没有设置密码,所以无需验证就可以操作。
配置哨兵模式:
Redis Sentinel集群通常由3到5个节点组成,如果个别节点挂了,集群还可以正常运作。Sentinel负责监控Redis集群的 健康 情况。
如果主Redis挂掉,Sentinel集群会通过投票选择一个新的主Redis。 当原来的主Redis恢复时,它会被当做新的主Redis的从Redis重新加入Redis集群。
设置连接master和slave的密码,需要注意的是sentinel不能分别为master和slave设置不同的密码,因此master和slave的密码必须设置相同。也就是说主Redis和从Redis都必须设置requirepass和masterauth,而且密码必须相同。
sentinel.conf配置信息:
将该配置文件放置到/data/redis/conf目录下,启动sentinel服务:
验证sentinel是否起作用,可以手工shutdown掉主Redis。
这时从Redis想要访问主Redis同步数据就会提示错误信息:
sentinel在监测到主Redis宕机之后,通过选举,将一个从Redis选定为新的主Redis。通过查看sentinel日志可以发现,选定6380为新的主Redis,同时将另外两个Redis作为从Redis。
注意:选定6380为主Redis后,所有的配置文件都会被修改,主要是重新建立主从关系。
6379会新增:slaveof 127.0.0.1 6380
6380会删掉:slaveof 127.0.0.1 6379
6381会修改:slaveof 127.0.0.1 6380
由于6379服务已经关掉,所以虽然sentinel将6379作为6380的从服务,但是没有真正的建立。
重新启动6379服务,这时sentinel会重建建立一次主从关系:
如何在linux下安装redis及客户端的连接
1、安装编译工具2、安装tcl组件包(安装Redis需要tcl支持)3、安装Redis4、设置redis开机启动 5、设置redis配置文件参数6、测试redis数据库7、通过php程序连接redis数据库 #php必须先安装Redis扩展至此,Linux下Redis服务器安装配置完成。转载,
Redis非关系性数据库有什么特点?
从以下几点来介绍一下redis:
1,redis是什么
redis是一种支持Key-Value等多种数据结构的存储系统。可用于缓存,事件发布或订阅,高速队列等场景。该数据库使用ANSI C语言编写,支持网络,提供字符串,哈希,列表,队列,集合结构直接存取,基于内存,可持久化。
2,支持的语言
3,redis的应用场景有哪些
1,会话缓存(最常用)
2,消息队列,比如支付
3,活动排行榜或计数
4,发布,订阅消息(消息通知)
5,商品列表,评论列表等
4,redis数据类型
Redis一共支持五种数据类:string(字符串),hash(哈希),list(列表),set(集合)和zset(sorted set有序集合)。
(1)字符串(字符串)
它是redis的最基本的数据类型,一个键对应一个值,需要注意是一个键值最大存储512MB。
(2)hash(哈希)
redis hash是一个键值对的集合,是一个string类型的field和value的映射表,适合用于存储对象
(3)表(列表)
是redis的简单的字符串列表,它按插入顺序排序
(4)组(集合)
是字符串类型的无序集合,也不可重复
(5)zset(sorted set有序集合)
是string类型的有序集合,也不可重复
有序集合中的每个元素都需要指定一个分数,根据分数对元素进行升序排序,如果多个元素有相同的分数,则以字典序进行升序排序,sorted set因此非常适合实现排名。
Redis非关系性数据库有什么特点?
从以下几点来介绍一下redis:
1,redis是什么
redis是一种支持Key-Value等多种数据结构的存储系统。可用于缓存,事件发布或订阅,高速队列等场景。该数据库使用ANSI C语言编写,支持网络,提供字符串,哈希,列表,队列,集合结构直接存取,基于内存,可持久化。
2,支持的语言
3,redis的应用场景有哪些
1,会话缓存(最常用)
2,消息队列,比如支付
3,活动排行榜或计数
4,发布,订阅消息(消息通知)
5,商品列表,评论列表等
4,redis数据类型
Redis一共支持五种数据类:string(字符串),hash(哈希),list(列表),set(集合)和zset(sorted set有序集合)。
(1)字符串(字符串)
它是redis的最基本的数据类型,一个键对应一个值,需要注意是一个键值最大存储512MB。
(2)hash(哈希)
redis hash是一个键值对的集合,是一个string类型的field和value的映射表,适合用于存储对象
(3)表(列表)
是redis的简单的字符串列表,它按插入顺序排序
(4)组(集合)
是字符串类型的无序集合,也不可重复
(5)zset(sorted set有序集合)
是string类型的有序集合,也不可重复
有序集合中的每个元素都需要指定一个分数,根据分数对元素进行升序排序,如果多个元素有相同的分数,则以字典序进行升序排序,sorted set因此非常适合实现排名。
如何连接redis数据库
1、在配置文件redis.conf中把绑定的Ip注释掉
2、在配置文件redis.conf中把protected-mode 改为 no
3、在配置文件redis.conf中把requirepass 设置redis访问授权密码(自己随意设置就好),也可以登录redis客户端使用命令设置:如下:
./redis-cli
config set requirepass 123 //123是密码
经过以上三步基本就可以了,不过也有特殊情况,访问的端口号6379有可能会被防火墙拦截,需要关闭系统的防火墙或取消对6379端口的拦截,这里不在细述。
接下来就可以创建项目实现操作redis数据库了。在这里我用的开发工具是eclipse,在eclipse中创建一个java Project项目如下图所示:
项目创建完成后,在src同级目录下创建lib文件夹,导入操作数据库所需jar包(晚上自行下载),jedis用来操作数据库,commons-pool用来实现数据库连接池。
启动redis服务器:
创建RedisDemoSimple.java代码如下:
控制台打印如下:
启动redis客户端查询插入数据库的值:
到此就连接成功了。
如何连接redis数据库
1、在配置文件redis.conf中把绑定的Ip注释掉
2、在配置文件redis.conf中把protected-mode 改为 no
3、在配置文件redis.conf中把requirepass 设置redis访问授权密码(自己随意设置就好),也可以登录redis客户端使用命令设置:如下:
./redis-cli
config set requirepass 123 //123是密码
经过以上三步基本就可以了,不过也有特殊情况,访问的端口号6379有可能会被防火墙拦截,需要关闭系统的防火墙或取消对6379端口的拦截,这里不在细述。
接下来就可以创建项目实现操作redis数据库了。在这里我用的开发工具是eclipse,在eclipse中创建一个java Project项目如下图所示:
项目创建完成后,在src同级目录下创建lib文件夹,导入操作数据库所需jar包(晚上自行下载),jedis用来操作数据库,commons-pool用来实现数据库连接池。
启动redis服务器:
创建RedisDemoSimple.java代码如下:
控制台打印如下:
启动redis客户端查询插入数据库的值:
到此就连接成功了。
结构化数据和非机构化数据的区别
在实际应用中会遇到各式各样的数据库如nosql非关系数据库(memcached,redis,mangodb),RDBMS关系数据库(oracle,mysql等),还有一些其它的数据库如hbase,在这些数据库中,又会出现结构化数据,非结构化数据,半结构化数据,下面列出各种数据类型:
结构化数据:
能够用数据或统一的结构加以表示,我们称之为结构化数据,如数字、符号。传统的关系数据模型、行数据,存储于数据库,可用二维表结构表示。
半结构化数据:
所谓半结构化数据,就是介于完全结构化数据(如关系型数据库、面向对象数据库中的数据)和完全无结构的数据(如声音、图像文件等)之间的数据,XML、HTML文档就属于半结构化数据。它一般是自描述的,数据的结构和内容混在一起,没有明显的区分。
非结构化数据:
非结构化数据库是指其字段长度可变,并且每个字段的记录又可以由可重复或不可重复的子字段构成的数据库,用它不仅可以处理结构化数据(如数字、符号等信息)而且更适合处理非结构化数据(全文文本、图象、声音、影视、超媒体等信息)。
非结构化数据,包括所有格式的办公文档、文本、图片、XML、HTML、各类报表、图像和音频/视频信息等等
非结构化数据包括哪些内容
具体内容如下:
1.键值对key-value型
键值对key-value型数据库的主要特点是具有极高的并发读写性能
Key-value数据库是一种以键值对存储数据的一种数据库, 类似Java中的map. 可以将整个数据库理解为一个大的map, 每个键都会对应一个唯一的值.
主流最常用的代表就是Redis等
2. 文档型
文档型按照功能划分又分为基于海量数据存储的和基于搜索内容存储的搜索引擎,数据结构可以理解为Json格式的文档类型。
基于海量数据存储:
这类数据库的主要特点是在海量的数据中可以快速的查询数据
文档存储通常使用内部表示法, 可以直接在应用程序中处理, 主要是JSON. JSON文档也可以作为纯文本存储在键值存储或关系数据库系统中.
主流代表为MongoDB等。
搜索引擎;
搜索引擎是专门用于搜索数据内容的NoSQL数据库管理系统。
主要是用于对海量数据进行近实时的分析处理,可用于机器学习和数据挖掘
主流代表为Elasticsearch, Solr等。
3. 列式数据库
这类数据库的主要特点是具有很强的可拓展性
关系型数据库都是以行为单位来存储数据的, 擅长以行为单位的读入处理, 比如特定条件数据的获取,因此, 关系型数据库也被称为面向行的数据库。相反,面向列的数据库是以列为单位来存储数据的,擅长以列为单位读入数据。
这类数据库想解决的问题就是传统数据库存在可扩展性上的缺陷,这类数据库可以适应数据量的增加以及数据结构的变化,将数据存储在记录中,能够容纳大量动态列。由于列名和记录键不是固定的,并且由于记录可能有数十亿列,因此可扩展性存储可以看作是二维键值存储。
主流代表为HBase等。
4. 图数据库
图数据库是一种在线数据库管理系统,具有处理图形数据模型的创建,读取,更新和删除(CRUD)操作。与其他数据库不同, 关系在图数据库中占首要地位。这意味着应用程序不必使用外键或带外处理(如MapRece)来推断数据连接。与关系数据库或其他NoSQL数据库相比,图数据库的数据模型也更加简单,更具表现力。
图形数据库是为与事务(OLTP)系统一起使用而构建的,并且在设计时考虑了事务完整性和操作可用性。