Redis是一个基于内存的 key-value 结构数据库。
- 基于内存存储,读写性能高
- 适合存储热点数据(热点商品、资讯、新闻)
- 企业应用广泛
简介
Redis 是一个开源的内存中的数据结构存储系统,它可以用作:数据库、缓存和消息中间件。
也被称为Nosql (Not Only sql),泛指非关系型数据库,是关系型数据库的补充。
常见数据库分类
关系型数据库:MysqL、Oracle、sqlServer、DB2
非关系型数据库:Redis、Mongo db、MemCached
Redis应用场景
- 缓存
- 任务队列
- 消息队列
- 分布式锁
key-value结构中,key是字符串类型,value有5种常用的数据类型
- 字符串 string
- 哈希 hash
- 列表 list
- 集合 set
- 有序集合 sorted set
命令行操作
字符串string操作命令
哈希 hash 操作命令
列表 list 操作命令
集合 set 操作命令
有序集合 sorted set 操作命令
通用命令
测试
Java中操作Redis
Spring Data Redis
在Spring Boot项目中,可以使用Spring Data Redis来简化Redis操作,maven坐标:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
配置文件:
spring:
#Redis相关配置
redis:
host: localhost
port: 6379
#password: 123456
database: 0 #操作的是0号数据库
jedis:
#Redis连接池配置
pool:
max-active: 8 #最大连接数
max-wait: 1ms #连接池最大阻塞等待时间
max-idle: 4 #连接池中的最大空闲连接
min-idle: 0 #连接池中的最小空闲连接
Spring Data Redis 中提供了一个高度封装的类:Redistemplate,针对jedis客户端中大量api进行了归类封装,将同一类型操作封装为operation接口
- ValueOperations : 简单K-V操作
- Setoperations : set类型数据操作
- ZSetoperations : zset类型数据操作
- HashOperations : 针对map类型的数据操作
- ListOperations : 针对list类型的数据操作
示例代码:
HashOperations hashOperations = redistemplate.opsForHash();
//存值
hashOperations.put("002","name","xiaoming");
hashOperations.put("002","age","20");
hashOperations.put("002","address","bj");
//取值
String age = (String) hashOperations.get("002", "age");
System.out.println(age);
//获得hash结构中的所有字段
Set keys = hashOperations.keys("002");
for (Object key : keys) {
System.out.println(key);
}
//获得hash结构中的所有值
List values = hashOperations.values("002");
for (Object value : values) {
System.out.println(value);
}
原文地址:https://www.jb51.cc/wenti/3279756.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。