前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >解锁Spring Data Redis的正确使用姿势

解锁Spring Data Redis的正确使用姿势

作者头像
CSDN技术头条
发布于 2018-03-26 10:22:33
发布于 2018-03-26 10:22:33
1.2K00
代码可运行
举报
文章被收录于专栏:CSDN技术头条CSDN技术头条
运行总次数:0
代码可运行
Redis 是一个开源的使用 ANSIC 语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value 数据库,并提供多种语言的 API。从2010年3月15日起,Redis 的开发工作由 VMware 主持,从2013年5月开始,Redis 的开发由 Pivotal 赞助。

Redis 是一个开源(BSD 许可)的,内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件。它支持多种类型的数据结构,如:

  • 字符串(Strings)
  • 散列(Hashes)
  • 列表(Lists)
  • 集合(Sets)
  • 有序集合(Sorted Sets)
  • 范围查询、Bitmaps、Hyperloglogs 和 地理空间(Geospatial)索引半径查询

Redis 内置了复制(Replication)、LUA 脚本(Lua scripting)、LRU 驱动事件(LRU Eviction)、事务(Transactions)和不同级别的磁盘持久化(Persistence),并通过 Redis 哨兵(Sentinel)和自动分区(Cluster)提供高可用性(High Availability)。

现状:随着微服务架构、去中心化、高可用的环境要求,Redis 还会更加火爆。Redis 能帮我们解决很多分布式过程中的一些问题(如内存数据、分布式锁、共享数据等),围绕着 Redis 的开源的产品也越来越丰富。我们作为开发 Java 人员,已经成为了必备的开发技能,如同数据库一样,详见官方地址:https://redis.io/ 和 中文社区:http://www.redis.cn/。

01

Redis、Memcache 的比较

Memcached 和 Redis 都是内存数据库,都可以解决内存数据缓存的问题,但是两者比较,应用场景和便捷性、生态还是差别很大的。相同点都可以通过客户端一致性 Hash 算法解决切片问题。就是便利程度和稳定性可能会有差别,如下:

之前面试的时候,如果是架构师,他们会经常被问到为什么要使用 Redis?不用不行吗?Redis 的优点是帮我们实现了很多内存数据的东西,否则我们重头来写也是可以的,只是有点重复造轮子,人家开源也成熟。

Memcached 更是小项目、小应用场景、快速响应式团队,从高可用角度来说 Redis 还是胜出的。

02

Redis 的市场上 Client 实现方式

Redis 的客户端有个各种语言的实现版本,就 Java 而言常用的实现版本有:

03

Redis 的 Server 端的安装体验

而其中:Jedis 是目前最受欢迎的 Client,而 Spring Data JPA 又基于 Jedis 做了很好的封装。本专题作者就带领大家一起来领略 Spring Data JPA 的魅力所在。

安装

我们以 Redis-4.0.6 为例,先从官方下载,解压安装即可。命令如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$ wget http://download.redis.io/releases/redis-4.0.6.tar.gz   
$ tar xzf redis-4.0.6.tar.gz   
$ cd redis-4.0.6    
$ make    
$ pwd    /Users/jack/company/www/redis-4.0.6    
启动 Server 端

如果上面的安装成功之后,我们只需要进入 Redis 的安装目录:/Users/jack/company/www/redis-4.0.6,执行如下命令,即可启动 Redis 的 Server 端。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$ src/redis-server
利用自带客户端测试一下

官方提供的 Redis-4.0.6 包里面包含了 Server 端和 Client 端。我们通过同目录的下面这个命令脚本,即可启动客户端,操作如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$ src/redis-cli   
redis> set foo bar   
OK   
redis> get foo    "bar"   

到目前为止安装 Server 成功。

04

Server 端的安装需要掌握的东西

  • 单机安装模式
  • master/salve 方式
  • Redis Sentinel 方式
  • 切片模式安装模式

05

工作需要注意的事项

  • 去中心化
  • Redis 本身服务的高可用、高并发行
  • 数据的安全性、分布式储存、数据的一致性
  • 实现方式的选型
  • Redis 的一些原理和概念要理解清楚
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2018-03-15,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 CSDN技术头条 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
NoSQL篇 | NoSQL从小白到码神 之 Redis篇
课程目录: - NoSQL背景 - NoSQL简介 - NoSQL和关系型数据库对比 - Redis简介 - Redis下载安装配置(Linux环境) - Redis优点 - Redis性能 - Redis常见命令 - Redis数据类型 - Redis的功能 - Redis发布/订阅 - Redis事务支持 - Redis主从复制(集群) - Redis持久化 - Java操作Redis示例 - Redis总结 NoSQL篇 NoSQL背景 随着互联网Web网站的兴起,传统的关系数据库
码神联盟
2018/04/03
1.2K0
NoSQL篇 | NoSQL从小白到码神 之 Redis篇
Redis专题-安装单机版Redis环境(Linux)
6. 关闭Redis服务端,请使用指令停掉服务端(不要用kill -9),否则可能会造成数据没有持久化而丢失
秋日芒草
2019/03/12
3960
玩转Redis|学会这10点让你分分钟拿下Redis,满足你的一切疑问
Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。从2010年3月15日起,Reids的开发工作由VMware主持。Redis能运行在大多数POSIX(Linux,*BSD,OS X和Solaris等)系统上。
浅羽技术
2020/12/07
3940
玩转Redis|学会这10点让你分分钟拿下Redis,满足你的一切疑问
redis【redis入门到精通】
Redisredis 是完全开源免费的,是一个高性能的key-value数据库,目前市面上主流的数据库 Redis、Memcache、Tair(淘宝自研发)
高大北
2022/06/27
5830
redis【redis入门到精通】
Redis高可用升级
  缓存对应实时性要求比较高的业务需求可谓十分重要,但缓存中的实时数据一旦丢失,将直接影响整个业务功能。考虑到各场景的业务需求,redis推出了高可用的方案,即:主从+哨兵的HA机制。  
云海谷天
2022/08/09
4110
Redis高可用升级
Redis未授权访问漏洞总结
Redis未授权访问漏洞,包括很多姿势,之前一直有接触,但并没有认真总结过,最近有点闲。
用户2700375
2022/06/09
1.5K0
Redis未授权访问漏洞总结
Redis详解
redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了 master-slave(主从)同步。 免费和开源!是当下最热门的 NoSQL 技术之一!也被人们称之为结构化数据库!
JokerDJ
2023/11/27
4170
Redis详解
Redis的43连环炮,试试你能扛住几个
大家好,我是老田,前面我们已经分享了五篇连环炮文章,今天我们继续。今天我们接着来聊聊Redis。Redis已经成为我们开发者必备技能之一了,同时面试也是必问的。下面就来对Redis进行一个总结,然后赠送47连环炮。
田维常
2021/04/22
7830
Redis的43连环炮,试试你能扛住几个
[周末往期回顾]redis的介绍及安装
通过上面我们已介绍了如何定时获取TOP SQL语句以及如何利用pandas处理数据,并让其在前端显示
bsbforever
2020/08/19
3530
[周末往期回顾]redis的介绍及安装
Redis概览与安装
Redis是一个开源(BSD许可)的内存数据结构存储,用作数据库、缓存和消息代理。Redis提供诸如字符串、哈希、列表、集合、带范围查询的排序集合、位图、超日志、地理空间索引和流等数据结构。Redis具有内置的复制、Lua脚本、LRU逐出、事务和不同级别的磁盘持久性,并通过Redis Sentinel和Redis Cluster的自动分区提供高可用性
PayneWu
2021/01/25
5060
使用 twemproxy 构建 Redis 集群
twemproxy 简介 twemproxy(又称 nutcracker)是 Twtter 贡献的一个 轻量级 高性能 的 redis/memcached 代理 client --> twemproxy --> redis/memcached ... twemproxy 的主要目的是减少与后端缓存服务器的连接数,并通过流水线化的协议与分片功能,方便我们构建可水平扩展的分布式缓存架构 特点 快、轻量 维护持久连接,使缓存服务器的连接数很低 命令请求与响应的流水线化,提升性能 跨服务器自动分片 配置简单 支持一
dys
2018/04/04
8300
使用 twemproxy 构建 Redis 集群
简 | 编译安装Redis环境
环境 CentOS 7.2 Redis 4.0.6 ---- 安装编译依赖包 sudo yum -y install gcc gcc-c++ autoconf automake make 安装redis依赖 sudo yum install tcl 编译安装Redis wget http://download.redis.io/releases/redis-4.0.6.tar.gz tar -zxvf redis-4.0.6.tar.gz cd redis-4.0.6 make -j 4 make inst
AlicFeng
2018/06/19
8460
redis k-v数据库、高速缓存、消息队列代理
Redis 是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据库。
WindWant
2020/09/11
7920
对比Memcached和Redis,谁才是适合你的缓存?
近期公司采购软件,评估时,某软件谈到使用了 Memcached 和 Redis 缓存。在本文中,将研究这两个流行的缓存的异同,方便理解和记忆。
用户1516716
2020/06/17
5.7K0
基于内存的分布式NoSQL数据库Redis(一)介绍与安装
Windows版本安装及远程工具使用请参考随堂资料《Redis的Windows版安装及远程工具的使用.pdf》
Maynor
2023/10/13
2800
基于内存的分布式NoSQL数据库Redis(一)介绍与安装
Redis应用及安装
Redis听到最多的一句话就是Redis的使用难吗?不难,Redis用好容易吗?不容易,有时候觉得这句话说的挺好,但又是让读者挺心里咯噔一下的,还不如不说! 概述简介 Redis是一个开源(BSD许可)的内存数据结构存储,用作数据库,缓存和消息代理。它支持数据结构,如字符串,哈希,列表,集合,具有范围查询的排序集,位图,超级日志和具有半径查询的地理空间索引。Redis具有内置复制,Lua脚本,LRU逐出,交易和不同级别的磁盘持久性,并通过Redis Sentinel提供高可用性,并通过Redis Clust
牛嗷嗷
2018/03/30
1.1K0
Redis常见集群方案
随着Redis中保存数据越来越多,单个Redis节点已不堪负重,需要引入Redis集群方案,Redis常见集群方案有:client分片方案、基于代理方案、redis cluster方案。
luoxn28
2019/11/06
1.4K0
Redis常见集群方案
【云原生进阶之PaaS中间件】第一章Redis-1.1简介
Redis(Remote Dictionary Server ),即远程字典服务,是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API,可用作数据库,高速缓存和消息队列代理。Redis是完全开源免费的、遵守BSD协议。
江中散人_Jun
2023/10/16
3310
【云原生进阶之PaaS中间件】第一章Redis-1.1简介
Java缓存深入理解
对于缓存大家都不会陌生,但如何正确和合理的使用缓存还是需要一定的思考,本文将基于Java技术栈对缓存做一个相对详细的介绍,内容分为基本概念、本地缓存、远程缓存和分布式缓存集群几个部分,重点在于理解缓存
用户1216676
2018/01/24
10.6K1
Redis7.0中文系列教程-入门基础
从2022年1月31开始,官方就发布了 Redis7.0-rc1,至今已经发布到 7.0.5 版本。很多的开发者,还对Redis认识停留在5.x的版本或者6.x的版本,对Redis7.0还缺乏较少的认识。本系列教程,将带领大家完整的学习Redis7.0相关的知识点。从环境的搭建、10大数据类型、事务、发布订阅、主从复制、哨兵、集群等等知识。本教程最大的特点是,不会单纯的总结一些枯燥乏味的理论知识,而是理论知识+基础时间+场景面试题分析,同时也会分享一些Redis相关技术栈等等内容。
兔云小新LM
2023/02/26
6600
Redis7.0中文系列教程-入门基础
相关推荐
NoSQL篇 | NoSQL从小白到码神 之 Redis篇
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档