当前位置: 首页 >  互联网技术 >  day01-Redis入门

day01-Redis入门

导读:Redis入门.1.初始Redis.1.1认识NoSQL.| SQL(关系型数据库) | NoSQL(非关系型数据库).数据结构.结构化(Structured).非结构化.数据关联.关联的(Relational).无关联的.查询方式.SQL查询.非SQL.事务特性.ACID.BA

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版本的安装包,所以我这里用Ubuntu来安装Redis。

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

ubuntu安装redis教程:3.Ubuntu安装redis详细教程、Redis 安装 | 菜鸟教程 (runoob.com)

安装完Ubuntu后,就可以开始安装redis了:

(1) 安装 Redis 服务器

sudo apt-get install -y redis-server

(2)redis.conf 是一个默认的配置文件,我们可以根据需要使用自己的配置文件。

找到 redis.conf 对应的目录,如 /etc/redis/redis.conf ,在给文件中修改redis密码(即修改配置文件里的 requirepass,打开注释,将后面改为想设置的密码)

sudo vim /etc/redis/redis.conf	#注意使用管理员权限

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

  • 用于测试的客户端程序 redis-cli:

新建一个窗口输入命令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 #查看端口或者 ps aux | 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文件,一路点击下一步,选择对应的安装目录,完成安装。

安装完毕后,输入连接地址和密码,点击测试,如果连接成功,会显示“连接Redis服务器成功”:

内容
  • Unity 中的存档系统(本地存档)
    Unity 中的存档系统(本地存
    2023-12-09
    思想.在游戏过程中,玩家的背包、登录、人物系统都与数据息息相关,无论是一开始就设定好的默认数据,还是可以动态存取的数据,
  • Unity中基于EPPLUS的Excel转换以及Json数据读取
    Unity中基于EPPLUS的E
    2023-12-08
    摘要:.主要使用Epplus的的表格转换功能,将表格转换成Json,而Unity中Json的使用要搭配对应结构的类,故顺
  • Mybatis的工作原理
    Mybatis的工作原理
    2023-12-05
    mybatis的工作原理.mybatis基本工作原理.封装sql ->调用JDBC操作数据库 -> 返回数据封装.JDB
  • 后台开发进阶:白话DDD从入门到实践
    后台开发进阶:白话DDD从入门到
    2023-12-04
    尝试用大家都能听得懂的话,结合我们在增值业务中的具体实现,分享一下我们从入门到实践 DDD 的一些心得。.0. 写在前面
  • 数据分析师如何用SQL解决业务问题?
    数据分析师如何用SQL解决业务问
    2023-12-03
    本文来自问答。.提问:数据分析人员需要掌握sql到什么程度?.请问做一名数据分析人员,在sql方面需要掌握到什么程度呢?
  • 缓存面试解析:穿透、击穿、雪崩,一致性、分布式锁、Redis过期,海量数据查找
    缓存面试解析:穿透、击穿、雪崩,
    2023-12-03
    为什么使用缓存.在程序内部使用缓存,比如使用map等数据结构作为内部缓存,可以快速获取对象。通过将经常使用的数据存储在缓
  • Unity学习笔记--数据持久化Json
    Unity学习笔记--数据持久化
    2023-12-02
    JSON相关.json是国际通用语言,可以跨平台(游戏,软件,网页,不同OS)使用,.json语法较为简单,使用更广泛。
  • 牛仔裤
    牛仔裤
    2024-01-05
    牛仔裤.牛仔裤,是一种起源于美国的经典服装单品,以其耐穿耐磨的特性,成为了时尚界不可或缺的一部分。无论是男女老少,都能在
  • 儿童T恤
    儿童T恤
    2023-12-26
    儿童T恤.儿童T恤是一种专门为儿童设计的上衣,具有舒适、时尚、环保等特点,是孩子们*常穿着的必备单品。.产品功能.儿童T
  • 婴儿连体衣
    婴儿连体衣
    2023-12-21
    婴儿连体衣.产品描述.婴儿连体衣是专门为婴儿设计的一款便捷舒适的睡衣,它将上衣和裤子融为一体,令宝宝在睡觉及活动时更加方
  • 外套
    外套
    2023-12-06
    外套.外套是一种经典的服装单品,不仅给人温暖的保护,还可以提升整体的时尚感。我们的外套采用高品质的材料和工艺**而成,既
  • 皮鞋
    皮鞋
    2024-01-15
    皮鞋.产品介绍.我们的皮鞋是经过精心设计和**的高品质鞋类产品。采用优质皮革和精湛工艺,为您提供舒适的穿着体验和时尚的外
  • 女童连衣裙
    女童连衣裙
    2024-01-15
    女童连衣裙.产品功能.高品质面料:选用优质的面料,柔软舒适,给孩子最佳的穿着体验.精美设计:精致的工艺和设计,展现孩子的
  • 儿童外套
    儿童外套
    2023-12-06
    儿童外套.产品功能.我们的儿童外套具有多种功能,包括保暖、防风、防水和舒适。它们采用高质量的面料制成,能够有效地抵御寒冷
  • 休闲鞋
    休闲鞋
    2024-01-05
    休闲鞋 - 轻松舒适的时尚选择.产品功能.休闲鞋 是一款适合各种活动的多功能鞋,其设计灵感来源于慢生活和自由精神。采用轻
  • 裤子
    裤子
    2023-12-26
    时尚新品发布:舒适时尚的裤子.产品功能.高品质的面料:采用柔软舒适的面料,透气性好,穿着舒适,不易起皱,易于护理。.人性
  • 儿童运动服
    儿童运动服
    2023-12-16
    儿童运动服.产品功能.我们的儿童运动服采用高品质的面料和工艺制作而成,具有出色的透气性和舒适性,可以让孩子在运动中保持干