当前位置:网站首页>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类型的数据操作
边栏推荐
- Programmer orientation problem solving methodology
- Activiti目录(一)重点介绍
- The QT program compiled on CentOS lacks a MySQL driven solution
- Alibaba cloud server docker installation mysql5.5
- Assembly language segment definition
- JVM之垃圾回收器下篇
- Eight part essay that everyone likes
- List集合数据移除(List.subList.clear)
- ByteDance technical Interviewer: what kind of candidate do I want to pick most
- Only learning C can live up to expectations top2 P1 variable
猜你喜欢
随机推荐
Description of project structure configuration of idea
控制转移指令
8086 CPU internal structure
8086 分段技术
MySQL digital function
JVM 垃圾回收器之Serial SerialOld ParNew
vscode
Brush questions during summer vacation, ouch ouch
mysql的列的数据类型详解
JVM garbage collector part 1
Instructions for Redux
Only learning C can live up to expectations top3 demo exercise
Data transfer instruction
暑假刷题嗷嗷嗷嗷
Programmer orientation problem solving methodology
吴军三部曲见识(七) 商业的本质
Take you hand-in-hand to do intensive learning experiments -- knock the level in detail
Design of DS18B20 digital thermometer system
Activiti directory (V) reject, restart and cancel process
[graduation project] QT from introduction to practice: realize imitation of QQ communication, which is also the last blog post in school.