前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >JavaWeb——Redis数据库之Windows下环境搭建与基本操作(Redis命令操作、Redis数据结构、Redis的持久化配置)

JavaWeb——Redis数据库之Windows下环境搭建与基本操作(Redis命令操作、Redis数据结构、Redis的持久化配置)

作者头像
Winter_world
发布2020-09-25 10:55:32
5590
发布2020-09-25 10:55:32
举报

1 Redis 概述

Redis是一款高性能的NoQSQL系列的非关系型数据库,那么关系型和非关系型数据库有什么区别呢?

区别

关系型数据库

非关系型数据库

常见数据库

MySQL、Oracle等

Redis、hbase、MongDB等

形式

表的形式存储

存储key:value形式;

特点

数据之间有关联关系; 数据存储在硬盘文件中;

数据之间没有关联关系; 数据存储在内存中;

以上仅是简单的对比,关系型数据库与NoSQL数据库是互补的关系,通常情况下使用关系型数据库,在适合使用NoSQL的时候使用NoSQL数据库,以弥补关系型数据库的不足。一般会将数据存储在关系型数据库中,在NoSQL数据库中备份存储关系型数据库的数据

操作关系型数据库是非常耗时的,若要经常查询一些不太经常变化的的数据,可以使用缓存的思路解决这个问题,提高整体的查询性能,提升用户体验。

那么缓存的选择有很多方式,比如可以在当前服务器开辟一块内存空间,利用Map集合当做缓存,但是Map集合只能是让当前项目有缓存,对于分布式的部署来说,会有多台电脑,Map集合就不合适了,所以此时就有了非关系型数据库的用武之地。因为该类数据库数据存储在内存中,且可以部署独立的机器,可以让一个机器的所有内存被数据库独占,这是Map做不到的,因为其运行在Java虚拟机中,虚拟机只能固定分配一定空间的内存,且内存较小。如今的互联网中用Redis做缓存是比较多的。

2 Redis环境搭建

1)软件下载:直接从官网下载安装包,若不会FQ也可以从Redis中文网下载,不过后者的最新版本一般低于前者:

2)安装:直接解压即可,无需安装,需要了解几个文件:

  • redis.windows.conf:配置文件;
  • redis-cli.exe:redis的客户端;
  • redis-server.exe:redis服务器端;

先双击redis-server.exe启动redis服务器,再双击redis-cli.exe打开客户端,就可以在客户端操作了

3 Redis的命令操作

操作Redis的方法有命令操作、Java代码方式,首先了解下Redis的数据结构,非常重要。

3.1 Reids的数据结构

Redis存储的是键值对:key,value形式的数据,其中key都是字符串,value有5种不同的数据结构:

  • 1)字符串类型 string
  • 2)哈希类型hash:map格式
  • 3)列表类型 list:linkedlist格式,允许重复
  • 4)集合类型 set:不允许重复
  • 5)有序集合类型 sortedset:自动排序,且不重复

3.2 Reids的命令操作

1)字符串类型 string:

  • 存储:set key value
  • 获取:get key
  • 删除:del key

2)哈希类型hash:map格式

  • 存储:hset key field value
  • 获取:hget key field获取指定field对应的值,hgetall key获取所有的field和value
  • 删除:hdel key field

3)列表类型 list

列表按照插入顺序排序,可以添加元素到列表的头部或尾部。

  • 添加:lpush key value,将元素添加到列表左边;           rpush key value,将元素添加到列表右边;
  • 获取:lrange key start end,范围获取;
  • 删除:lpop key,删除列表最左边的元素并将其返回;           rpop key,删除列表最右边的元素并将其返回;

4)集合类型 set:不允许重复

  • 存储:sadd key value
  • 获取:smembers key,获取集合中所有元素
  • 删除:srem key value,删除集合中的某个元素

5)有序集合类型 sortedset:自动排序,且不重复

  • 存储:zadd key score value,存储数据以及数据对应的分数,是根据分数排序的;
  • 获取:zrange key start end
  • 删除:zrem key value

6)通用命令

  • keys *:查询所有的键
  • type key:获取键对应的value类型
  • del key:删除指定的key value

4 Redis的持久化

Redis是内存数据库,当Redis服务器重启或者电脑重启了,数据会丢失,可以将Redis内存中的数据持久化保存在内存的文件中,当重启后,Redis会恢复数据,保证不丢失。Redis持久化的机制:

1)RDB:默认方式,不用配置,在一定的间隔时间内,检测key的变化情况来持久化数据,这种方式对性能的影响比较低,推荐使用; --编辑redis.windows.conf文件: save 900 1        // after 900 sec (15 min) if at least 1 key changed save 300 10      // after 300 sec (5 min) if at least 10 keys changed save 60 10000  // after 60 sec if at least 10000 keys changed

修改完配置文件后需要使用命令行启动服务器:redis-server.exe redis.windows.conf,现修改为save 10 5,即10s后至少有5个key发生变化,则持久化数据,可以看到生成后缀为rdb的文件,测试效果如下:

2)AOF:日志记录方式,可以记录每一条命令操作,每一次命令操作后来持久化数据,这种方式对性能影响较大;

--编辑redis.windows.conf文件:

  • appendonly no:默认为no,表示关闭AOF,改为yes开启
  • # appendfsync always:默认注释了,表示每一次操作都进行持久化;
  • appendfsync everysec:默认的,每隔一秒操作一次;
  • # appendfsync no:不持久化;

修改完配置文件后需要使用命令行启动服务器:redis-server.exe redis.windows.conf,现修改为appendonly yes,即每隔1s持久化一次,可以看到生成后缀为aof的文件,测试效果如下:

———————————————————————————————————

本文为博主原创文章,转载请注明出处!

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-08-17 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1 Redis 概述
  • 2 Redis环境搭建
  • 3 Redis的命令操作
    • 3.1 Reids的数据结构
      • 3.2 Reids的命令操作
      • 4 Redis的持久化
      相关产品与服务
      云数据库 Redis
      腾讯云数据库 Redis(TencentDB for Redis)是腾讯云打造的兼容 Redis 协议的缓存和存储服务。丰富的数据结构能帮助您完成不同类型的业务场景开发。支持主从热备,提供自动容灾切换、数据备份、故障迁移、实例监控、在线扩容、数据回档等全套的数据库服务。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档