Redis入门

1.初始Redis

1.1认识NoSQL

SQL(关系型数据库) NoSQL(非关系型数据库)
数据结构 结构化(Structured) 非结构化
数据关联 关联的(Relational) 无关联的
查询方式 SQL查询 非SQL
事务特性 ACID BASE
存储方式 磁盘 内存
扩展性 垂直 水平
使用场景 1.数据结构固定 2.相关业务对数据安全性、一致性要求较高 1.数据结构不固定 2.对一致性、安全性要求不高 3.对性能要求高

其中,非关系型数据库有很多种,比如:

  1. 键值类型(Redis)
  2. 文档类型(MongoDB)
  3. 列类型(HBase)
  4. Graph类型(Neo4j)

1.2认识Redis

Redis诞生于2009年,全称为 Remote Dictionary Server(远程词典服务器),是一个基于内存的键值型NoSQL数据库。

Redis特征:

  1. 键值(key-value)型,value支持多种不同的数据结构,功能丰富
  2. 单线程,每个命令具备原子性
  3. 低延迟,速度快(基于内存、IO多路复用、良好的编码)
  4. 支持数据持久化
  5. 支持主从集群、分片集群(主从集群:从节点可以去备份主节点的数据;分片集群:数据的拆分,一份数据可以拆成多分,分别存储在不同的节点上)
  6. 支持多语言客户端

2.安装Redis

2.1单机安装redis

大多数企业都是基于Linux服务器来部署项目,而且Redis官方也没有提供Windows版本的安装包,因此我们这里基于Linux系统来安装Redis。

先安装linux系统:这里是在wsl上安装redis,wsl安装教程更换国内下载源

ubuntu安装redis教程:Ubuntu安装redis详细教程

(1) 安装 Redis 服务器

sudo apt-get install -y redis-server

(2)在 /etc/redis/redis.conf 中修改redis密码,修改配置文件里的 requirepass,把注释关掉,然后后面改为你想设置的密码

sudo vim /etc/redis/redis.conf	#注意使用sudo

(3) 启动 Redis 服务器:使用命令redis-server 启动redis服务器

(4) 验证 Redis 是否正常工作:

新建一个窗口当做redis客户端,用于通信。在客户端输入命令:redis-cli,这会打开一个redis提示符:127.0.0.1:6379>。其中,127.0.0.1 是机器的 IP 地址,6379 是 Redis 服务器运行的端口。键入PING 命令,若返回 PONG 则表示 Redis 已成功安装在你的系统上。

注意事项:

redis-cli 是redis提供的命令行客户端

redis-server 是redis的服务端启动脚本

redis-sentinel 是redis的哨兵启动脚本

2.2redis服务-后台启动

如上所示,我们直接输入命令redis-server,redis服务器将会在前台启动(默认启动方式),这样会阻塞整个会话窗口,窗口按下ctrl+c则redis服务停止,不推荐使用。

如果要让redis以后台方式启动,则必须修改redis的配置文件。

(1)先将该文件备份:

li@LAPTOP-32SOPQVL:/etc/redis$ sudo cp redis.conf redis.cinf.bck
li@LAPTOP-32SOPQVL:/etc/redis$ ls
redis.cinf.bck redis.conf

(2)再修改配置文件, sudo vim /etc/redis/redis.conf,修改的部分配置如下

# 允许访问的地址,默认是127.0.0.1,会导致只能在本地访问。
# 修改为0.0.0.0则可以在任意IP访问,注意:生产环境不要设置为0.0.0.0 !!
bind 0.0.0.0
# 守护进程,修改为yes后即可后台运行
daemonize yes
# 密码,设置后访问Redis必须输入密码
requirepass 123456

(3)修改之后,输入命令 sudo redis-server /etc/redis/redis.conf,就可以在后台运行redis服务端了

li@LAPTOP-32SOPQVL:/$ sudo redis-server /etc/redis/redis.conf
li@LAPTOP-32SOPQVL:/$ ps -ef | grep redis #查看端口
root 22196 1 0 21:09 ? 00:00:00 redis-server 0.0.0.0:6379
li 22201 4351 0 21:09 tty2 00:00:00 grep --color=auto redis

(4)后台启动服务端后,因为修改了密码,客户端访问时需要输入密码

Redis报错 : (error) NOAUTH Authentication required (cnblogs.com)

li@LAPTOP-32SOPQVL:~$ redis-cli
127.0.0.1:6379> auth 123456 # 输入密码
OK
127.0.0.1:6379> ping
PONG
  • Redis的其它常见配置:
# 监听的端口
port 6379
# 工作目录,默认是当前目录 . ,也就是运行redis-server时的命令,日志、持久化等文件会保存在这个目录
dir .
# 数据库数量,设置为1,代表只使用1个库,默认有16个库,编号0~15
databases 1
# 设置redis能够使用的最大内存
maxmemory 512mb
# 日志文件,默认为空,不记录日志,可以指定日志文件名
logfile "redis.log"

启动Redis:

# 进入redis安装目录
cd /usr/local/src/redis-6.2.6
# 启动,需要管理员权限
redis-server /etc/redis/redis.conf

停止服务:

# 利用redis-cli来执行 shutdown 命令,即可停止 Redis 服务,
# 因为之前配置了密码,因此需要通过 -u 来指定密码
redis-cli -u 123456 shutdown

3.Redis客户端

安装完成Redis,我们就可以操作Redis,实现数据的CRUD了。这里需要用到redis的客户端,包括:

  • 命令行客户端
  • 图形化桌面客户端
  • 编程客户端

3.1命令行客户端

Redis安装完成后就自带了命令行客户端,在上面已经使用过,打开新窗口,使用方式如下:

redis-cli [options] [commonds]

常见的options有:

  • -h 127.0.0.1:指定要连接的redis节点的IP地址,默认是127.0.0.1
  • -p 6379:指定要连接的redis节点的端口,默认是6379
  • -a 123456:指定redis的访问密码

commonds是Redis的操作命令,例如:

  • ping:与redis服务端做心跳测试,服务端正常会返回pong

不指定commond时,会直接进入redis-cli的交互控制台:

3.2图形化桌面客户端

RedisInsight/RedisDesktopManager: Cross-platform Developer GUI for Redis (github.com)

下载后直接运行.exe文件,一路点击下一步,选择对应的安装目录,完成安装。

day01-Redis入门的更多相关文章

  1. 安装redis入门

    redis官网:redis.io redis版本用的是redis-3.2.2 $ wget http://download.redis.io/releases/redis-3.2.2.tar.gz $ ...

  2. redis入门笔记(2)

    redis入门笔记(2) 上篇文章介绍了redis的基本情况和支持的数据类型,本篇文章将介绍redis持久化.主从复制.简单的事务支持及发布订阅功能. 持久化 •redis是一个支持持久化的内存数据库 ...

  3. redis入门笔记(1)

    redis入门笔记(1) 1. Redis 简介 •Redis是一款开源的.高性能的键-值存储(key-value store).它常被称作是一款数据结构服务器(data structure serv ...

  4. Redis入门指南

    随着互联网业务对性能需求日益强烈,作为Key/Value存储的Redis具有数据类型丰富和性能表现优异的特点.如果能够熟练地驾驭它,不管是把它用做缓存还是存储,对很多大型应用都很多帮助.新浪作为世界上 ...

  5. Redis入门教程:特性及数据类型的操作

    虽然Redis已经很火了,相信还是有很多同学对Redis只是有所听闻或者了解并不全面,下面是一个比较系统的Redis介绍,对Redis的特性及各种数据类型及操作进行了介绍.是一个很不错的Redis入门 ...

  6. 【原】Redis入门教程

    最近在学习Redis,写几篇文章记录一下学习过程:Redis入门教程. 1.Redis基本概念 Redis Redis Keys Redis 基本数据类型 Redis基本操作 遍历操作 Pub-Sub ...

  7. windows下使用redis,Redis入门使用,Redis基础命令

    windows下使用redis,Redis入门使用,Redis基础命令 >>>>>>>>>>>>>>>> ...

  8. Redis入门 – Jedis存储Java对象 - (Java序列化为byte数组方式)

    Redis入门 – Jedis存储Java对象 - (Java序列化为byte数组方式) 原文地址:http://alanland.iteye.com/admin/blogs/1600685(欢迎转载 ...

  9. redis入门(15)redis的数据备份和恢复

    redis入门(15)redis的数据备份和恢复

  10. redis入门(14)redis集群下的数据分区存储

    redis入门(10)redis集群下的数据分区存储

随机推荐

  1. gitbash 本地文件提交为一个新的项目 到 gitlab

    此篇操作的环境: 已经配置好一个本地仓库,且可成功的将本地项目提交到gitlab上的对应的远程仓库. 这意味着此时你的电脑已经安装好git,有一个本地仓库存放你的项目,成功配置好一个对应的远程仓库,且 ...

  2. link和@import的对比

    概念的区别  @import 是css的语法规则: link 是HTML标签 用途的区别  @import 是css语法,只能用来导入样式文件: link 除了引入样式,还可引入其他资源文件 加载顺序 ...

  3. JS刷题自制参考知识

    (建议复制到本地,需要看的时候打开Typora,大纲点击要查的内容即可,我一般记不清某个方法的时候就查一下.) 基础 Typescript TypeScript是一个开源的.渐进式包含类型的JavaS ...

  4. 【基础知识】C++算法基础(快速排序)

    快速排序: 1.执行流程(一趟快排): 2.一趟快排的结果:获得一个枢纽,在此左边皆小于此数,在此右边皆大于此数,因此可以继续使用递归获得最终的序列.

  5. 一次CentOS 出现“Too many open files"错误的解决

    一.原因分析 出现本问题,应该是打开文件最多数量不足,默认是1024个,在生产环境中经常出现该问题. 使用ulimit -a 查看打开文件数量限制 二.解决方案A(临时有效) 1.如果是非root用户 ...

  6. NRF52832的FDS程序,参考非蓝牙例程修改而来(需要增加DFU的基础上只要增加如下程序即可解决)

    /* Dummy configuration data. */ static configuration_t m_dummy_cfg = { .config1_on = false, .config2 ...

  7. .DS_Store泄露利用过程

    .DS_Store文件泄漏利用工具: ds_store_exp.DS_Store是Mac下Finder用来保存如何展示 文件/文件夹 的数据文件,每个文件夹下对应一个. 如果开发/设计人员将.DS_S ...

  8. ArrayList学习

    核心源码 package java.util; import java.util.function.Consumer; import java.util.function.Predicate; imp ...

  9. 通过cpolar内网穿透 https://blog.csdn.net/CpolarLisa/article/details/128148698

    远程办公:通过cpolar内网穿透,远程桌面控制家里公司内网电脑_Cpolar Lisa的博客-CSDN博客 https://blog.csdn.net/CpolarLisa/article/deta ...

  10. vs2019 配置 qt6

    1.下载qt6 我的目录C:\Qt\6.3.1\msvc2019_64\bin C:\Qt\6.3.1\msvc2019_64\include C:\Qt\6.3.1\msvc2019_64\lib ...