Redis缓存使用方法

Redis是一个开源的使用ANSI C语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。

Redis和memcached的主要区别

1、Redis除了支持字符串(String)外, 还支持哈希(Map), 列表(list), 集合(sets) 和 有序集合(sorted sets)等类型,就是说集合里面嵌套集合

2、Redis支持数据的持久化,可以将内存中的数据保持在磁盘中,重启的时候可以再次加载进行使用

3、性能对比:由于Redis只使用单核,而Memcached可以使用多核

Redis安装

1、下载:https://github.com/MicrosoftArchive/redis/releases,Window平台这里我们下载 Redis-x64-xxx.zip

2、安装:解压Redis-x64-xxx.zip压缩包到 C 盘,解压后,将文件夹重新命名为 redis

3、启动:打开 cmd 命令窗口,使用cd命令切换目录到 C:\redis 运行 redis-server.exe redis.windows.conf

4、测试:另启一个cmd命令窗口,原来的不要关闭,不然就无法访问服务端了。切换到redis目录下运行 redis-cli.exe -h 127.0.0.1 -p 6379 ,或者直接运行redis-cli.exe

链接到远程:redis-cli -h host -p port -a password

设置键值对 set myKey abc

取出键值对 get myKey

删除键值对 del mykey

Redis 类型

String:Redis 字符串存取与Memcached基本一致,普通的key/value存储

Hash:在value存储Hash对象集合

常用命令:HGET、HSET、HGETALL、HMSET等

使用场景:比如客户购物车,Hash里面存储商品集合,key存储商品ID,value存储商品信息对象

List:在value存储List对象集合

常用命令:LPUSH、LPOP、LRANGE、LREM、LLEN等

实现方式:Redis list的实现为一个双向链表,即可以支持反向查找和遍历,更方便操作

Set:在value存储无序无重复的Set对象集合

常用命令:SADD、SMEMBERS等

Sorted Set:在value存储无序无重复的Set对象集合

常用命令:ZADD、ZRANGE

应用示例:ZADD mykey 1 redis    ZADD mykey 2 mongodb

 

备份和恢复

数据文件一般保存是安装目录的dump.rdb文件

保存:Save

恢复:CONFIG GET dir

转载于:https://www.cnblogs.com/honzhez/p/7495770.html

### Redis缓存使用方法 Redis 是一种高效的键值对存储系统,广泛应用于数据缓存场景。以下是关于如何使用 Redis 进行数据存储与读取的一个具体示例。 #### Java 使用 Redis 缓存数据的简单示例 在 Java 中可以借助 Jedis 或 Lettuce 等客户端库连接并操作 Redis。下面是一个基于 Jedis 的代码示例: ```java import redis.clients.jedis.Jedis; public class RedisExample { public static void main(String[] args) { // 创建Jedis实例,指定Redis服务器地址和端口 try (Jedis jedis = new Jedis("localhost", 6379)) { String key = "exampleKey"; String value = "exampleValue"; // 存储数据到Redis jedis.set(key, value); // 从Redis读取数据 String cachedValue = jedis.get(key); System.out.println("Cached Value: " + cachedValue); } } } ``` 上述代码展示了如何通过 `set` 方法将数据存储至 Redis,并利用 `get` 方法实现快速检索[^1]。 #### 数据存储机制详解 为了保证高效的数据访问能力,Redis 将所有的数据保存在内存之中。这种设计极大地提升了其处理速度,因为相比磁盘 I/O 操作而言,内存中的读写要快得多。此外,由于 Redis 实现的是单线程模型来进行命令解析以及执行工作流程,因此它天然具备线程安全性特性[^2]。 #### 自定义工具类的应用案例 如果希望进一步简化开发过程,则可以通过创建自定义工具类封装常用功能逻辑。比如如下所示的一段代码片段即展示了一个名为 `redisUtil` 工具类的部分接口调用形式: ```java // 设置字符串类型的缓存项,设置超时时间为1秒 redisUtil.setString(user_prefix + user.getUserCode(), "", 1); ``` 这里假设存在这样一个通用型的方法用于管理不同生命周期下的缓存对象[^3]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值