Redis非关系型数据库的基本使用

本文介绍了Redis的NOSQL特性,包括数据结构(String、Hash、List、Set、SortedSet)、安装与配置(Windows版与Linux版),以及核心命令操作。重点讲解了如何使用Jedis客户端进行Java操作,并涉及持久化策略和AOF日志记录。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

概念

Redis是一款高性能的NOSQL系列的非关系型数据库

请添加图片描述

请添加图片描述
请添加图片描述

下载和安装

下载网站
官网:www.redis.io/ ------>下载很慢
中文网:www.redis.net.cn/

安装包分享码:
链接:https://pan.baidu.com/s/1C36lVFtN4QrdJccPpK0fgA
提取码:0l7q

对应版本解压之后可以直接使用,不需要安装,绿色版本,我这个是windows操作系统的版本,以后工作使用的大部分是Linux版本

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

命令操作:(比较重要,面试比较容易问道)

帮助文档
查看帮助文档的是一个非常好的习惯
Redis其实就是一个个的键值对,键是String类型,而值则是Object,主要存五种类型:
第一:Redis的数据结构:
Redis储存的是::key,value格式的数据,其中key都是字符串,value有五种不同的数据结构

	1.value的数据结构:
	字符串类型  String
	哈希类型      hash: map格式
	列表类型      list::    linkedList 格式  (允许有重复的元素,有序列)
	集合类型      set:     hashSet   (不允许有重复的元素,无序列)
	有序集合类型     sortedset:      (不允许有重复的元素,有序列)

哈希类型,集合类型,有序集合类型都是采用的哈希\数据结构存储,所以他们的时间复杂度都是O(1),有序集合类型则是通过指定一个double类型的score来标记对应的value值的大小,通过score来排序

第二:常用Redis数据操作

1.字符串类型:String
储存:  set key value   (会覆盖掉重名key的值)
获取:  get key
删除   del key
2.哈希类型:   hash: map格式
存储:  hset  key field value
获取:   hgetall key field:获取指定的field对应的值
获取所有的:  hgetall key : 获取所有的field 和 value
删除:   hdel key field
3.列表类型      list::    linkedList 格式  (允许有重复的元素,有序列)
我们可以选择把新的元素添加到列表左边还是列表右边
添加:
lpush key value :  将元素加入列表左边
rpush key value :  将元素加入到列表右边
获取:
lrange key start end :  范围获取
删除:
lpop key :  删除列表最左边的元素,并将元素返回
rpop key :  删除列表最右边的元素,并将元素返回
4.集合类型      set:     hashSet   (不允许有重复的元素,无序列)
存储:sadd key value:
获取: smembers key :  获取set集合中的所有元素
删除: srem key value :   删除set集合中的某个元素
5.有序集合类型     sortedset:      (不允许有重复的元素,有序列)
存储:zadd key score value
获取: zrange key start end
获取所有的value和对应的score : 
zrange key start end  withscores
删除: zrem key value

第三,通用命令

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

持久化

Redis是一个内存数据库,当Redis服务器重启时,数据就会丢失,我们可以将Redis内存中的数据持久化保存到硬盘文件中,
Redis持久化机制
RDB:默认方式,不需要进行配置,使用默认方式,性能比较好,该机制就是在一定的时间间隔以内,进行检测key的变化情况,然后持久化数据

配置redis.windows.conf文件,
save 900 1  ->>>>就是在900秒内有一次改变key值,Redis就持久化一次
save  300 10   >>>>>就是在300秒内有十次改变key值,Redis就持久化一次

配置完文件之后我们不能直接启动服务器端
我们需要使用cmd的方式同时启动服务器端和配置文件
在这里插入图片描述
然后当修改key的次数符合条件的时候Redis就会持久化一次
并会在目录中生成一个**.rdb为后缀名的文件**,用来储存Redis中持久化的信息

AOF日志记录的方式,可以记录每一条命令的操作,可以每一次命令操作之后,就持久化数据,比较浪费性能,但是修改过程比较详细
同样的,我们也是需要编辑Redis.Windows.conf文件
在配置文件中有一条属性 :appendonly no(默认是关闭的,我们可以修改为yes打开AOF模式)

appendfsync  always :  每一次操作都进行持久化
appendfsync  everysec  :   每一秒操作一次
appendsync   no :   不持久化,这个时候Redis就好像是内存中一个非常大的map集合

这种方式持久化存储的文件后缀名是**.AOF**

Jedis客户端:

jedis:是一款Java操作Redis数据库的工具.类似于我们通过JDBC来连接MySQL数据库一样,jedis就是Java语言连接Redis的一种连接方式.

始终步骤,下载相关的jar包
commons-pool2-2.3.jar ---->连接池的包
jedis-2.7.0.jar ------>jedis的工具包
资源分享
链接:https://pan.baidu.com/s/1C36lVFtN4QrdJccPpK0fgA
提取码:0l7q

举个栗子:

    @Test
    public void test1(){
        //获取连接
        Jedis jedis = new Jedis("localhost",6379);
        //操作
        jedis.set("username","zhangsan");
        //关闭连接
        jedis.close();
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值