当前位置:网站首页>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类型的数据操作
边栏推荐
- 8086 segmentation technology
- 關於Stream和Map的巧用
- 原型链继承
- Mongodb在node中的使用
- List集合数据移除(List.subList.clear)
- SQL调优小记
- February database ranking: how long can Oracle remain the first?
- Flink 解析(三):内存管理
- MySQL digital function
- The "advertising maniacs" in this group of programmers turned Tiktok advertisements into ar games
猜你喜欢

Jetpack compose 1.1 release, based on kotlin's Android UI Toolkit

Activiti directory (IV) inquiry agency / done, approved

Yao BanZhi and his team came together, and the competition experts gathered together. What fairy programming competition is this?

Learn the wisdom of investment Masters

吴军三部曲见识(五) 拒绝伪工作者

学习投资大师的智慧

Take you hand-in-hand to do intensive learning experiments -- knock the level in detail

Assembly language segment definition

8086 CPU internal structure

Data transfer instruction
随机推荐
Data transfer instruction
JVM之垃圾回收器上篇
ByteDance overseas technical team won the championship again: HD video coding has won the first place in 17 items
8086 分段技术
Activiti directory (V) reject, restart and cancel process
Assembly language addressing mode
vscode
Brush questions during summer vacation, ouch ouch
Basic knowledge of assembly language
Only learning C can live up to expectations top2 P1 variable
The daemon thread starts redis and modifies the configuration file
1. JVM入门介绍
Mongodb在node中的使用
Akamai浅谈风控原理与解决方案
Flink 解析(四):恢复机制
数据传送指令
Flink源码解读(二):JobGraph源码解读
Take you hand-in-hand to do intensive learning experiments -- knock the level in detail
Only learning C can live up to expectations top5 S1E8 | S1E9: characters and strings & arithmetic operators
搭建flutter环境入坑集合