当前位置:网站首页>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类型的数据操作
边栏推荐
- High performance mysql (Third Edition) notes
- Log4j2 major vulnerabilities and Solutions
- Assembly language addressing mode
- 汇编课后作业
- 复盘网鼎杯Re-Signal Writeup
- Some feelings of brushing leetcode 300+ questions
- 冯诺依曼体系结构
- In the command mode in the VI editor, delete the character usage at the current cursor__ Command.
- 唯有学C不负众望 TOP2 p1变量
- Compile homework after class
猜你喜欢
Flink源码解读(二):JobGraph源码解读
The "advertising maniacs" in this group of programmers turned Tiktok advertisements into ar games
Many papers on ByteDance have been selected into CVPR 2021, and the selected dry goods are here
Alibaba cloud server builds SVN version Library
Activiti directory (IV) inquiry agency / done, approved
复盘网鼎杯Re-Signal Writeup
TCP's three handshakes and four waves
Instructions for Redux
Install docker under windows10 (through Oracle VM VirtualBox)
Activiti目录(三)部署流程、发起流程
随机推荐
koa中间件
ByteDance technical Interviewer: what kind of candidate do I want to pick most
Flink 解析(七):时间窗口
MySQL optimization notes
February database ranking: how long can Oracle remain the first?
On the clever use of stream and map
After idea installs the plug-in, restart the plug-in and disappear
登陆验证koa-passport中间件的简单使用
冯诺依曼体系结构
TCP的三次握手和四次挥手
字节跳动海外技术团队再夺冠:高清视频编码已获17项第一
汇编语言寻址方式
Take you hand-in-hand to do intensive learning experiments -- knock the level in detail
8086 内存
Design of DS18B20 digital thermometer system
Logical operation instruction
yum install xxx报错
Mongodb learning notes
算数运算指令
唯有学C不负众望 TOP5 S1E8|S1E9:字符和字符串&&算术运算符