Redis快速上手篇(一)(安装与配置)

编程入门 行业动态 更新时间:2024-10-23 17:37:29

Redis快速<a href=https://www.elefans.com/category/jswz/34/1765339.html style=上手篇(一)(安装与配置)"/>

Redis快速上手篇(一)(安装与配置)

NoSQL

  NoSQL 是 Not Only SQL 的缩写,意即"不仅仅是 SQL"的意思,泛指非关系型的数据库。强调 Key-Value Stores 和文档数据库的优点。

NoSQL 产品是传统关系型数据库的功能阉割版本,通过减少用不到或很少用的功能,来大幅度提高产品性能

  • 不遵循 SQL 标准。 (添加 insert 修改 update )
  • 不支持 ACID(ACID,是指在可靠数据库管理系统(DBMS)中,事务(transaction)所应该具有的四个特性:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability)这是可靠数据库所应具备的几个特性)。
  • 远超于 SQL 的性能。

关系型数据库是结构化的数据库,创建在关系模型(二维表格模型)基础上,一般面向于记录。

过去,关系型数据库(SQL Server、Oracle、MySQL)是数据持久化的唯一选择,但随着发展,关系型数据库存在以下问题。

1.不能满足高性能查询需求

我们使用:Java、.Net 等语言编写程序,是面向对象的。但用数据库都是关系型数据库。存储结构是面向对象的,但是数据库却是关系的,所以在每次存储或者查询数据时,我们都需要做转换。类似 Hibernate、Mybatis 这样的 ORM 框架确实可以简化这个过程,但是在对高性能查询需求时,这些 ORM 框架就捉襟见肘了。

ORM是通过使用描述对象和数据库之间映射的元数据,

只要提供了持久化类与表的映射关系,ORM框架在运行时就能参照映射文件的信息,把对象持久化到数据库中。

2.应用程序规模的变大

网络应用程序的规模变大,需要储存更多的数据、服务更多的用户以及需求更多的计算能力。为了应对这种情形,我们需要不停的扩展。

扩展分为两类:一种是纵向扩展,即购买更好的机器,更多的磁盘、更多的内存等等。另一种是横向扩展,即购买更多的机器组成集群。在巨大的规模下,纵向扩展发挥的作用并不是很大。首先单机器性能提升需要巨额的开销并且有着性能的上限,在 Google 和 Facebook 这种规模下,永远不可能使用一台机器支撑所有的负载。鉴于这种情况,我们需要新的数据库,因为关系数据库并不能很好的运行在集群上。

NoSQL 的适用场景

  • 对数据高并发的读写
  • 海量数据的读写
  • 对数据高可扩展性的

NoSQL 不适用场景

  • 需要事务支持
  • 基于 sql 的结构化查询存储,处理复杂的关系,需要关系查询。

用不着 sql 的和用了 sql 也不行的情况,考虑用 NoSql

常见的 NoSQL 及区别

1,常见的 NoSQL 数据库

区别

1.Memcached

  • 很早出现的 NoSql 数据库
  • 数据都在内存中,一般不持久化
  • 支持简单的 key-value 模式,支持类型单一
  • 一般是作为缓存数据库辅助持久化的数据库(MySQL)

2.Redis

  • 几乎覆盖了 Memcached 的绝大部分功能
  • 数据都在内存中,支持持久化,主要用作备份恢复
  • 除了支持简单的 key-value 模式,还支持多种数据结构的存储,包括 string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和 hash(哈希类型)。
  • 一般是作为缓存数据库辅助持久化的数据库

3.MongoDB

  • 高性能、开源、模式自由(schema free)的文档型数据库
  • 数据都在内存中, 如果内存不足,把不常用的数据保存到硬盘
  • 虽然是 key-value 模式,但是对 value(尤其是 json)提供了丰富的查询功能
  • 支持二进制数据及大型对象
  • 可以根据数据的特点替代 RDBMS,成为独立的数据库。或者配合 RDBMS,存储特定的数

Redis

开源的 key-value 存储系统 端口 6379

Redis 的应用场景

1.数据缓存(提高访问性能)

查询概率 >> 增删改的概率

将一些数据在短时间之内不会发生变化,而且它们还要被频繁访问,为了提高用户的请求速度和降低网站的负载,降低数据库的读写次数,就把这些数据放到缓存中。

2.会话缓存

session cache,主要适用于 session 共享 (string 类型)

3.排行榜/计数器

(NGINX+lua+redis 计数器进行 IP 自动封禁)(zset)

4.消息队列

(构建实时消息系统,聊天,群聊) (list)

5.粉丝 (set)

6.存储对象 (hash)

安装及启动

1.下载 wget

        yum -y wget

2.cd /usr/新建文件夹

3.下载redias

        wget .0.14.tar.gz

4.安装 redis 所依赖的环境

        yum -y install gcc-c++

5.解压 redis

        tar -zxvf redis-5.0.14.tar.gz

6.进入解压目录

        cd redis-5.0.14/

7.编译与安装

        编译 make

        安装 make PREFIX=/usr/新建文件夹 install (如果不加prefix 默认安装到/usr/local/)

安装成功之后查看redis在哪里安装

        which redis-server

8.启动redis

        cd /usr/local/bin

        ./redis-server

ctrl + c 终止

配置与连接

1.拷贝配置文件到安装目录的 bin

cp /usr/解压的文件夹/redius-5.0.14/redius.conf /usr/local/bin

2. vim /usr/local/bin/redis.conf

3.设置后台启动

daemonize no 改成 yes

4.设置密码(客户端连接的话需要设置密码 如果不需要连接不用设置)

requirepass root 

5.设置远程连接

bind 127.0.0.1 #注释掉绑定本机,才可以远程连接访问

bind 127.0.0.1 修改为  0.0.0.0

6.启动 redis

进入bin目录下 cd /usr/local/bin

启动 ./redis-server ./redis.conf

7.连接redis(没有设置密码可以不输入密码)

./redis-cli -p 6379 -a root

或 ./redis-cli 后 输入 auth root (确认没有修改默认端口并且设置了密码)

8.关闭 redis

./redis-cli shutdown

或 ./redis-cli -p 6379 -a root -h 127.0.0.1 shutdown

9.测试远程

redis-cli -h (虚拟机IP) -p (端口号port) -a (设置的密码)

ping 测试

quit 关闭连接(connection)

外部连接AnotherRedisDesktopManager

 AnotherRedisDesktopManager 是一个更快、更好、更稳定的Redis桌面 -LRB- GUI -RRB- 管理客户端,兼容Windows、Mac、Linux,性能出众,轻松加载海量键值

 AnotherRedisDesktopManager下载

github:

Releases · qishibo/AnotherRedisDesktopManager (github)

Gitee:

AnotherRedisDesktopManager 发行版 - Gitee

配置服务启动(使用 systemctl 的方法)

服务启动的时候 daemonize 改为 no

在/lib/systemd/system 目录下创建一个脚本文件 redis.service

[Unit]
Description=Redis
After=network.target
[Service]
ExecStart=/usr/local/bin/redis-server /usr/local/bin/redis.conf
ExecStop=/usr/local/bin/redis-cli -h 127.0.0.1 -p 6379 -a root shutdown
[Install]
WantedBy=multi-user.target

systemctl daemon-reload 刷新配置

systemctl enable redis 开机自启

systemctl status redis redis 状态

systemctl start redis 开启 redis

systemctl stop redis 关闭 redis

systemctl disable redis 禁止开机自启

更多推荐

Redis快速上手篇(一)(安装与配置)

本文发布于:2023-12-03 07:34:41,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1652721.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:上手   快速   Redis

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!