网站首页 > 技术教程 正文
Lettuce 这个名字蛮有意思,音标:['lets] ,发音和 Jedis ,Redis 一样都比较押韵,Lettuce 的中文意思是生菜,官方网站()的 Logo 就是一朵生菜,网页也是一片绿油油的,可以看出作者非常追求艺术美。
本文中庖丁主要阐述生菜的使用指南,读完本文后,你可以:
- 使用 Docker 搭建 Redis 运行环境
- 使用 Lettuce 客户端程序访问 Redis 服务器,进行简单的缓存操作
- 对 Lettuce 的使用方式有个初步的了解
Redis介绍和环境准备
本文假设读者了解 Redis,至少知道Redis 是什么,可以进行简单的操作,它的官网https://redis.io/ 介绍如下:
Redis is an open source (BSD licensed), in-memory data structure store, used as a database, cache and message broker. It supports data structures such as strings, hashes, lists, sets, sorted sets with range queries, bitmaps, hyperloglogs, geospatial indexes with radius queries and streams. Redis has built-in replication, Lua scripting, LRU eviction, transactions and different levels of on-disk persistence, and provides high availability via Redis Sentinel and automatic partitioning with Redis Cluster.
Redis是一个开放源代码(BSD许可)的内存中数据结构存储,用作数据库,缓存和消息代理。 它支持数据结构,例如字符串,哈希,列表,集合,带范围查询的排序集合,位图,hyperloglogs,带有半径查询和流的地理空间索引。 Redis具有内置的复制,Lua脚本,LRU驱逐,事务和不同级别的磁盘持久性,并通过Redis Sentinel和Redis Cluster自动分区提供了高可用性。官网提供了挺好的交互式教程:http://try.redis.io/ ,帮助大家快速学习和掌握 Redis 常用的操作命令。交互操作界面如下图:
本文中,使用的最新的稳定版本 5.0.8 版本进行操作,读者可以从官网下载,解压后,遵循 README 的教程进行操作,如果你使用 MAC 或者 Linux 操作系统,直接使用相关命令安装启动即可。Windows 环境下操作不是挺舒服,最后使用 Docker 操作,特别是Redis 集群的搭建,后续庖丁会专门写一篇文章来阐述使用Docker 来搭建 Redis 运行环境。这里不再赘述。
Docker 简介
- 安装 Docker
我们使用docker 的桌面版本,操作方便,读者可以根据自己的操作系统进行下载,庖丁下载了 Mac 版本。
Docker 的使用文档,Mac 版本的 https://docs.docker.com/docker-for-mac/ ,Windows 版本的:https://docs.docker.com/docker-for-windows/ ,大家可以根据自己的需要,进行阅读。容器化的时代,强烈建议大家学习和使用 Docker,解决硬件设备问题,减少搭建环境的时间,对于提高研发效率有极大的帮助。安装完成后,打开命令行,输入以下命令:
$ docker info
一般会显示Docker 组件的版本和当前安装所在硬件设备等信息。
- 安装 Redis 镜像
Docker 安装完成后,我们需要安装 Redis 。和Java 的组件一样,Docker 也有自己的 hub,进行镜像管理,地址为:https://hub.docker.com/_/redis,是用下列命令安装 Docker 镜像。这里安装单机版本。
$ docker pull redis
完成完成后,使用以下命令启动容器中的 Redis 。
$ docker run -itd --name paoding-redis -p 6379:6379 redis
$ docker ps
启动后,效果如下:可以看到默认的 Redis 启动端口 6379
Docker 桌面版本工具中,可以看到刚刚启动的 Redis 容器信息,可以看到 Redis 5.0.9 版本成功启动了。截图如下:
使用 Lettuce 操作 Redis
准备好 Redis 的单机版环境后,我们使用 Lettuce客户端进行连接和操作,可以是用 Maven 或者 Gradle 来进行依赖管理,本文中庖丁使用 Gradle 来进行工程构建和依赖管理。你可以使用喜欢的 IDE 来创建 Java 工程。build.gradle 代码片段如下:
plugins {
id 'java'
}
group 'com.lerith.lettuce'
version '1.0.0-SNAPSHOT'
repositories {
mavenCentral()
}
dependencies {
compile 'io.lettuce:lettuce-core:5.2.2.RELEASE'
testCompile group: 'junit', name: 'junit', version: '4.12'
}
万众期待的 Hello world,LettuceStarted.java 代码片段如下:
package com.lerith.anatomy.lettuce.started;
import io.lettuce.core.RedisClient;
import io.lettuce.core.api.StatefulRedisConnection;
import io.lettuce.core.api.sync.RedisCommands;
public class LettuceStarted {
public static void main(String[] args) {
RedisClient redisClient = RedisClient.create("redis://localhost:6379/0");
StatefulRedisConnection<String, String> connection = redisClient.connect();
RedisCommands<String, String> syncCommands = connection.sync();
syncCommands.set("key", "Hello, Redis!");
String value = syncCommands.get("key");
System.out.println("value = " + value);
connection.close();
redisClient.shutdown();
}
}
运行上述代码,Redis 安装和启动正常后,会输出我们期望的结果。工程代码托管在 github 地址为:https://github.com/paodingjiejiagou/anatomy-lettuce ,也可以下载运行。
总结
本文简单介绍了 Redis,使用 Docker 安装和运行 Redis ,使用 Lettuce 来访问 Redis,为后续源码精读和架构剖析奠定基础。
参考资料
Lettuce官方文档: https://lettuce.io/core/release/reference/index.html
Redis 文档:https://redis.io/documentation
Docker 文档:https://docs.docker.com/docker-for-mac/
猜你喜欢
- 2025-01-23 Redis客户端 Jedis 与 Lettuce(redis client java)
- 2025-01-23 【每日一菜】vegetables(每日一菜50道家常菜)
- 2025-01-23 SpringBoot 2.0系列文章之集成redis 服务(Lettuce)
- 2025-01-23 Redis进阶十二之Lettuce使用技巧详解
- 2025-01-23 新知丨牛油果是健康脂肪最佳来源之一 可顿顿吃
- 2025-01-23 大神爆料一加新机:Lettuce(一加新机型)
你 发表评论:
欢迎- 05-1613步震撼淘宝大促闪光裂纹破墙立体字PS制作教程
- 05-16AI教程 | 绘制扁平的萌萌哒图标
- 05-160基础学平面设计所需了解的基础常识汇总
- 05-16自学平面设计需要多长时间?十六年职业设计总监告诉你
- 05-16平面设计都要学习哪些内容?
- 05-16李涛PS教程 高手之路PS教程 合成教程 —制作一个小星球
- 05-16Illustrator实例教程:制作炫酷的漩涡效果
- 05-16Illustrator实例教程:利用混合工具制作一朵炫酷的花
- 最近发表
- 标签列表
-
- sd分区 (65)
- raid5数据恢复 (81)
- 地址转换 (73)
- 手机存储卡根目录 (55)
- tcp端口 (74)
- project server (59)
- 双击ctrl (55)
- 鼠标 单击变双击 (67)
- debugview (59)
- 字符动画 (65)
- flushdns (57)
- ps复制快捷键 (57)
- 清除系统垃圾代码 (58)
- web服务器的架设 (67)
- 16进制转换 (69)
- xclient (55)
- ps源文件 (67)
- filezilla server (59)
- 句柄无效 (56)
- word页眉页脚设置 (59)
- ansys实例 (56)
- 6 1 3固件 (59)
- sqlserver2000挂起 (59)
- vm虚拟主机 (55)
- config (61)
本文暂时没有评论,来添加一个吧(●'◡'●)