Redis简介及安装

文章目录

  • Redis简介及安装
    • 一、nosql介绍
      • 1.NoSQL
      • 2.NoSQL和SQL数据库的比较:
    • 二、Redis
      • 1.简介
      • 2.Redis特性
      • 3.Redis 优势
      • 4.redis应用场景
      • 5.推荐阅读
    • 三、redis安装
      • 1.在线安装
      • 2.下载安装包:
    • 四、配置
      • 1.配置
      • 2.查看
      • 3.绑定ip
      • 4.端⼝,默认为6379
      • 5.是否以守护进程运⾏
      • 6.数据⽂件
      • 7.数据⽂件存储路径
      • 8.⽇志⽂件
      • 9.主从复制
    • 五、服务端客户端操作命令
      • 1.服务器端
      • 2.客户端

一、nosql介绍

1.NoSQL

  • NoSQL:一类新出现的数据库(not only sql) 它的特点:
  • 不支持SQL语法
  • 存储结构跟传统关系型数据库中的那种关系表完全不同,nosql中存储的数据都是KV形式
  • NoSQL的世界中没有一种通用的语言,每种nosql数据库都有自己的api和语法,以及擅长的业务场景
  • NoSQL中的产品种类相当多:
  • Mongodb
  • Redis
  • Hbase hadoop
  • Cassandra hadoop

2.NoSQL和SQL数据库的比较:

  • 适用场景不同:sql数据库适合用于关系特别复杂的数据查询场景,nosql反之
  • “事务”特性的支持:sql对事务的支持非常完善,而nosql基本不支持事务
  • 两者在不断地取长补短,呈现融合趋势
  • SQL数据库被称为关系型数据库(RDBMS),而NoSQL数据库被称为非关系型数据库或分布式数据库。
  • SQL数据库是基于表的数据库,而NoSQL数据库则有基于文档的,键值对的,图形的或基于列式存储的数据库
  • SQL数据库的数据结构必须事先先定义好,而NoSQL数据库的数据是动态无结构的。
  • SQL数据库的负载能力是以增加硬件配置的垂直扩展方式来增加的,而NoSQL数据库的负载能力可以通过增加数据库服务器的数量来增加(属于水平扩展)
  • SQL数据库是使用SQL(结构化查询语言)对数据进行定义和操作的,功能强大,语法统一。而NoSQL数据库是使用UnQL(无结构查询语言),其操作的对象主要是存储在集合中的文档,但UnQL语法不统一,不同的NoSQL数据库语法各有不同。
  • 常见的SQL数据库有:MySql,Oracle,Postgres,Sqlite,MS-SQL等。NoSQL常见的有:MongoDB,BigTable,Redis,Hbase,Neo4j等。
  • 对于复杂的查询:SQL非常的擅长,而NoSQL则不擅长。因为NoSQL并没有执行复杂查询的标准接口。相对于SQL的强大查询能力,NoSQL的查询能力就显得有点捉襟见肘。
  • 对于所能存储的数据类型:SQL数据库并不太适合分层次的数据存储。 但是,NoSQL数据库则可以很好的存储分层次的数据,因为它是以键值对的形式存储数据的,类似与JSON数据。NoSQL数据库更倾向用于大数据。例如Hbase就是一个很好的例子。
  • 对于基于大量事务的应用程序:SQL数据库非常适合,因为它更加稳定并且可以保证数据的原子性和一致性。而NoSQL对事务的处理能力有限
  • 在文档支持方面:所有SQL数据库的厂家对其数据库产品都有很好的支持,并且有许多专家可以帮你部署大型的SQL数据库扩展。而NoSQL现在仅有社区的支持,而可以帮助你部署大型NoSQL数据库扩展的专家也很有限
  • 在属性方面:SQL数据库遵循ACID(即,原子性,一致性,隔离性,持久性)属性,而NoSQL数据库遵循的是CAP定理(即,一致性,可用性,分区容忍性)
  • 对于数据库的分类:对于SQL数据库,基于商业渠道SQL数据库可分为开源或闭源产品。对于NoSQL数据库,基于存储数据的基本方式可分为图形数据库,键——值数据库,文档数据库,列式数据库,XML数据库

二、Redis

1.简介

  • Redis是一个开源的使用ANSIC语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API
  • 从2010年3月15日起,Redis的开发工作由VMware主持。从2013年5月开始,Redis的开发由Pivotal赞助。
  • Redis是 NoSQL技术阵营中的一员,它通过多种键值数据类型来适应不同场景下的存储需求,借助一些高层级的接口使用其可以胜任,如缓存、队列系统的不同角色

2.Redis特性

Redis 与其他 key - value 缓存产品有以下三个特点:

  • Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。
  • 它也通常被称为数据结构服务器,因为值(value)可以是 字符串(String), 哈希(Map), 列表(list), 集合(sets) 和 有序集合(sorted sets)等类型
  • Redis支持数据的备份,即master-slave模式的数据备份。
  • 与传统数据库不同的是 Redis 的数据是存在内存中的,所以存写速度非常快,因此 Redis 被广泛应用于缓存方向。
  • Redis为分布式缓存,在多实例的情况下,各实例共用一份缓存数据,缓存具有一致性。

3.Redis 优势

  • 性能极高 – Redis能读的速度是110000次/s,写的速度是81000次/s 。
  • 丰富的数据类型 – Redis支持二进制案例的 Strings, Lists, Hashes, Sets 及 Ordered Sets 数据类型操作
  • 原子 – Redis的所有操作都是原子性的,同时Redis还支持对几个操作全并后的原子性执行。
  • 丰富的特性 – Redis还支持 publish/subscribe, 通知, key 过期等等特性
  • 支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。
  • 支持数据的备份,即master-slave模式的数据备份

4.redis应用场景

  • 用来做缓存(ehcache/memcached)——redis的所有数据是放在内存中的(内存数据库)
  • 查询出的数据保存到Redis中,下次查询的时候直接从Redis中拿到数据。不用和数据库进行交互。

  • 可以在某些特定应用场景下替代传统数据库——比如社交类的应用
  • 在一些大型系统中,巧妙地实现一些特定的功能:session共享、购物车

什么数据会存到redis数据库中
主要是热点数据,不会经常改变的,一般是常量
比如登录验证的cookie,购物车,历史浏览记录都(只要具有一定时间的生命周期)
比如首页的商品信息,一般不会变。
比如秒杀的商品信息,一般也不会变。
比如地图的经纬度信息,一般也不会变。

  • 用户的关注列表,粉丝列表,消息列表等功能都可以用 Redis 的 List 结构来实现
  • Redis 可以非常方便的实现如共同关注、共同粉丝、共同喜好等功能(Set 类似与列表,但可自动排重的)
  • Redis不但提供了无需集合(Sets),还很体贴的提供了有序集合(Sorted Sets),因此,各种排行榜数据基本上都会使用Redis提供的Sorted Sets来实现

5.推荐阅读

redis官方网站
redis中文官方网站
命令参考

三、redis安装

1.在线安装

  • 直接输入命令 sudo apt-get install redis-server
    安装完成后,Redis服务器会自动启动。
    使用ps -aux|grep redis命令可以看到服务器系统进程默认端口6379
redis      2890  0.2  0.1  41872  6064 ?        Ssl  14:17   0:07 /usr/bin/redis-server 127.0.0.1:6379
hzlarm     3222  0.0  0.0  11324   780 pts/2    S+   15:02   0:00 grep --color=auto redis
  • 使用netstat -nlt|grep 6379命令可以看到redis服务器状态
tcp 0 0 127.0.0.1:6379 0.0.0.0:* LISTEN
  • 使用sudo /etc/init.d/redis-server status命令可以看到Redis服务器状态

2.下载安装包:

  • 下载:打开redis官方网站,推荐下载稳定版本(stable)
wget http://download.redis.io/releases/redis-5.0.5.tar.gz
  • 解压tar xzf redis-5.0.5.tar.gz
  • 复制:推荐放到usr/local目录下sudo mv redis-5.0.5 /usr/local/redis
  • 进入redis目录 cd /usr/local/redis/
  • 生成:sudo make失败则 使用 sudo make MALLOC=libc后再sudo make
  • 测试 sudo make test 这段运行时间会较长
  • 安装:将redis的命令安装到/usr/bin/目录sudo make install
  • 运行 redis-server
  • 按ctrl+c停止
  • 查看
 cd /usr/local/bin
ls -all

redis-server redis服务器
redis-cli redis命令行客户端
redis-benchmark redis性能测试工具
redis-check-aof AOF文件修复工具
redis-check-rdb RDB文件检索工具

四、配置

1.配置

Redis的配置信息在/etc/redis/redis.conf下。

2.查看

sudo vi /etc/redis/redis.conf

3.绑定ip

绑定ip:如果需要远程访问,可将此⾏注释,或绑定⼀个真实ip
bind 127.0.0.1

4.端⼝,默认为6379

port 6379

5.是否以守护进程运⾏

如果以守护进程运⾏,则不会在命令⾏阻塞,类似于服务
如果以⾮守护进程运⾏,则当前终端被阻塞
设置为yes表示守护进程,设置为no表示⾮守护进程
推荐设置为yes
daemonize yes

6.数据⽂件

dbfilename dump.rdb

7.数据⽂件存储路径

dir /var/lib/redis

8.⽇志⽂件

logfile /var/log/redis/redis-server.log

数据库,默认有16个 database 16

9.主从复制

# 类似于双机备份。
slaveof

参考资料
redis配置信息

五、服务端客户端操作命令

1.服务器端

  • 服务器端的命令为redis-server
  • 可以使⽤help查看帮助⽂档

推荐使⽤服务的⽅式管理redis服务

redis-server --help
  • 启动
sudo service redis start
  • 停⽌
sudo service redis stop
  • 重启
sudo service redis restart

个人习惯

  • ps -ef|grep redis 查看redis服务器进程
  • sudo kill -9 pid 杀死redis服务器
  • sudo redis-server /etc/redis/redis.conf 指定加载的配置文件

2.客户端

  • 客户端的命令为redis-cli
可以使⽤help查看帮助⽂档
redis-cli --help
  • 连接redis
redis-cli

  • 运⾏测试命令
ping

  • 切换数据库

数据库没有名称,默认有16个,通过0-15来标识,连接redis默认选择第一个数据库

select n

Redis简介及安装相关推荐

  1. 【赵强老师】Redis简介和安装配置

    先看视频. [赵强老师]Redis简介和安装配置 什么是Redis? Redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串 ...

  2. Redis简介与安装

    Redis 是一个开源(BSD许可)的,内存中的数据结构存储系统,它可以用作数据库.缓存和消息中间件. 它支持多种类型的数据结构,如 字符串(strings), 散列(hashes), 列表(list ...

  3. Redis (一)Redis简介、安装部署

    Redis是一个开源的,先进的 key-value 存储可用于构建高性能,可扩展的 Web 应用程序的解决方案. 既然是key-value,对于Java开发来说更熟悉的是Map集合.那就有问题了,有M ...

  4. Redis简介与基本数据类型

    Redis 文章目录 Redis 一.简介 1.Redis简介 2.安装与使用 二.Redis数据类型 1.string类型 2.hash类型 3.list类型 4.set类型 5.sorted_se ...

  5. Redis简介、与memcached比较、存储方式、应用场景、生产经验教训、安全设置、key的建议、安装和常用数据类型介绍、ServiceStack.Redis使用(1)...

    1.NOSQL简介 nosql的产生并不是要彻底的代替关系型数据库,而是作为传统关系型数据库的一个补充. Facebook和360使用Cassandra来存储海量社交数据 Twitter在其url抓取 ...

  6. Redis详解(一)------ redis的简介与安装

    工作中一直在用 Redis,但是一直没有进行系统的总结,这个系列的博客将整体的介绍 Redis 的用法. 1.Redis 的简介 Redis:REmote DIctionary Server(远程字典 ...

  7. NoSQL和Redis简介及Redis在Windows下的安装和使用教程

    转载于:http://www.itxuexiwang.com/a/shujukujishu/redis/2016/0216/103.html?1455869099 NoSQL简介 介绍redis前,我 ...

  8. redis指定配置文件启动_Redis【简介amp;安装篇】

    1 Redis简介 1.1 Redis是什么 Redis是一个开源的,使用ANSI C 编写的,高性能Key-Value的NoSQL数据库. 1.2 Redis特点 i. 基于内存. ii. 可持久化 ...

  9. @Redis(redis简介,下载与安装配置,基本操作)

    title: Redis author: Xoni tags: Redis categories: java学习 Redis abbrlink: bae4ff13 Redis基础 1. Redis 简 ...

最新文章

  1. 使用rancher对Docker容器服务升级
  2. python笔记本-如何用Python在笔记本电脑上分析100GB数据(下)
  3. C#.NET禁止一个程序启动多个实例
  4. 有关数据治理的本质及实践,看这一篇就够了【转】
  5. kali linux学习笔记
  6. 生活随笔:态度需要端正
  7. Spartacus同SAP Commerce Cloud交互的示意图
  8. 看OpenCV如何在python中实现图像检测!
  9. HTML_CSS_JS_JSON
  10. MobaXterm中修改服务器ip,如何使用mobaxterm登录云服务器
  11. [JavaScript]JavaScript处理iframe的动作
  12. IoT 时代,安全危机爆发
  13. Jedis 常用API使用
  14. 深入解读Linux进程调度系列(总览)
  15. LinuxCNC学习-HAL库介绍
  16. Html控制大华摄像头
  17. 让小米路由器变成一个聪明的WIFI(1):有人回家,它就发短信告诉你
  18. WinForm 子窗体 调用 父窗体 方法
  19. 用Jdk自带工具keytool生成受信任的证书
  20. 实用工具(锐捷无线篇)-WIS

热门文章

  1. 文件表单带数据一起提交spring_基于 Spring 实现管道模式的最佳实践
  2. ‘复杂变简单‘的代码例子
  3. JAVA数据类型及字符编码
  4. Ubuntu服务器上部署kodexplorer私有云盘
  5. 《CDN 之我见》原理篇——CDN的由来与调度
  6. caioj 1066 动态规划入门(一维一边推4:护卫队)(分组型dp总结)
  7. storm 动态设置并发度
  8. 【知乎】怎么成为一个优秀的程序员,而不是一个优秀的码农?
  9. 超级组合:用户中心+云平台
  10. 微观经济学现代观点(Hal R. Varian) 复习题 1.1