当前位置:网站首页>Redis快速入门
Redis快速入门
2022-07-06 09:33:00 【bestkasscn】
Redis
概念
redis是一款高性能的非关系型的数据库。存储形式是key-value.
非关系型数据库特点
- 数据之间没有关联关系
- 数据存储在内存中
下载安装
- 官网:https://redis.io
- 中文网:http://www.redis.net.cn
- 解压可以直接使用
- redis.windows.conf:配置文件
- redis-cli.exe:redis的客户端
- redis-server.exe:redis的服务器端
命令操作
redis的数据结构
- redis存储的是:key-value格式的数据,其中key都是字符串,value有5种不同的数据结构
- value的数据结构
- 字符串类型:string
- 哈希类型:hash:map格式
- 列表类型:list:linkedlist格式
- 集合类型:set;
- 有序集合类型:sortedset
- value的数据结构
- redis存储的是:key-value格式的数据,其中key都是字符串,value有5种不同的数据结构
字符串类型 string
- 存储:set key value
- 获取:get key
- 删除:del key
哈希类型 hash
存储:hset key field value
获取:hget key field
hgetall key(获取所有field的value)
删除:hdel key field
列表类型 list 可以使用头插法和尾插法
存储:lpush key value(头插法)
rpush key value(尾插法)
获取:lrange key start end :范围获取
删除:lpop key 删除最左边的元素,并将元素返回
rpop key 删除最右边的元素,并将元素返回
集合类型 set
- 存储:sadd key value
- 获取:smembers key
- 删除:srem key value
通用命令
- keys *:查询所有的键
- type key:获取键对应的value类型
- del key:删除键
持久化
redis是一个内存数据库,当redis服务器重启,或者电脑重启,数据会丢失,我们可以将redis内存中的数据持久化保存到硬盘的文件中
redis持久化机制:
RDB:默认方式,不需要进行配置,默认就使用这种机制
在一定的间隔时间中,检测key的变化,然后持久化数据
AOF:日志记录的方式,可以记录每一条命令的操作。可以每一次操作后持久化数据
Jedis
引入依赖
<dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version>2.7.0</version> </dependency>
测试
public class JedisTest { private Jedis jedis; @BeforeEach void setup(){ // 建立连接 jedis = new Jedis("127.0.0.1",6379); // 选择数据库 jedis.select(0); } @Test void testString(){ //存入数据 String result = jedis.set("name","zhangsan"); System.out.println("result=" + result); //获取数据 String name = jedis.get("name"); System.out.println("name=" + name); } @AfterEach void tearDown(){ if (jedis != null){ jedis.close(); } } }
SpringDataRedis
Spring-data-redis是spring大家族的一部分,提供了在srping应用中通过简单的配置访问redis服务,对reids底层开发包(Jedis, JRedis, and RJC)进行了高度封装,RedisTemplate提供了redis各种操作、异常处理及序列化,支持发布订阅,并对spring 3.1 cache进行了实现。
spring-data-redis针对jedis提供了如下功能:
连接池自动管理,提供了一个高度封装的“RedisTemplate”类
针对jedis客户端中大量api进行了归类封装,将同一类型操作封装为operation接口
ValueOperations:简单K-V操作
SetOperations:set类型数据操作
ZSetOperations:zset类型数据操作
HashOperations:针对map类型的数据操作
ListOperations:针对list类型的数据操作
边栏推荐
- JVM之垃圾回收器下篇
- MySQL数字函数
- Go language uses the thrift protocol to realize the client and service end reports not enough arguments in call to oprot Writemessagebegin error resolution
- Flink 解析(二):反压机制解析
- Shawshank's sense of redemption
- Assembly language addressing mode
- 1. Introduction to JVM
- Instructions for Redux
- MySQL string function
- 8086 分段技术
猜你喜欢
一个数10年工作经验的微服务架构老师的简历
ByteDance overseas technical team won the championship again: HD video coding has won the first place in 17 items
学习投资大师的智慧
Alibaba cloud server builds SVN version Library
Notes on how the network is connected
汇编课后作业
算数运算指令
Logical operation instruction
Flink 解析(四):恢复机制
Flink 解析(七):时间窗口
随机推荐
Only learning C can live up to expectations top5 S1E8 | S1E9: characters and strings & arithmetic operators
8086 内存
Log4j2 major vulnerabilities and Solutions
Use of mongodb in node
Activiti directory (IV) inquiry agency / done, approved
面试集锦库
High performance mysql (Third Edition) notes
Thank you for your invitation. I'm in the work area. I just handed in the code. I'm an intern in the next ByteDance
程序员定位解决问题方法论
ByteDance technical Interviewer: what kind of candidate do I want to pick most
Garbage first of JVM garbage collector
The "advertising maniacs" in this group of programmers turned Tiktok advertisements into ar games
Mongodb在node中的使用
Which is more important for programming, practice or theory [there are some things recently, I don't have time to write an article, so I'll post an article on hydrology, and I'll fill in later]
js垃圾回收机制和内存泄漏
Typescript basic operations
Flink 解析(一):基础概念解析
IDEA断点调试技巧,多张动图包教包会。
MySQL optimization notes
DOS function call