redis是什么
Redis是完全开源免费的,遵守BDS协议的,是一个高性能的key-value内存型数据库
redis主要特点
支持数据持久化,可以将内存中的数据保存在磁盘中,重启的时候自动再次加载进行使用。
既支持key-value 类型的数据操作,还提供 list, set, zset, hash 等数据结构的存储。
新版 3.x 也支持分布式布署模式,真正实现了数据块的分布式存储与响应。
性能极高 – Redis 读的速度是 11 万次/s,写的速度是 8 万次/s 。
支持数据的主从备份,采用 master-slave 模式的主从备份。
所有操作均为原子性操作
丰富的实用特性,如订阅-发布模式,生产者消费者模式, key 过期等常用易用的模式。
三种运行模式
单机布署、主备布署、分布式布署
redis持久化重要说明
(1)cache-only
只做为“缓存” 服务,数据均在内存中,不持久化数据,服务停掉则数据全部丢失,且无恢
复方法,高速但安全性低;
(2)persistence
数据不只是在内存中,还会以配置的持久化方式持久化到磁盘中,保证服务停止后数据还可
以恢复。
Redis DataBase(简称 RDB):默认开启该种方法持久化数据。在某个条件满足后触发持久化操作,也称为一次快照(snapshot)操作,将所有数
据写入一个临时文件,持久化结束后,用这个临时文件替换上次持久化的文件,
达到数据恢复的效果。
Append-only file (简称 AOF):将"写操作+数据"以格式化指令的方式追加到操作日志文件的尾部,"日志文件"保
存了历史所有的操作过程
下面就是Java开发Redis的代码了,maven项目需要依赖如下
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>2.8.2</version>
</dependency>
正式附上工具类及测试
package redis;
import redis.clients.jedis.Jedis;
public class RedisUtil {
private Jedis jedis;
public RedisUtil() {
jedis.auth("tianliangedu");
}
public RedisUtil(String str, int port) {
jedis = new Jedis(str, port);
jedis.auth("tianliangedu");
}
public void append(String key, String value) {
jedis.append(key, value);
}
public String get(String key) {
return jedis.get(key);
}
public void delete(String key) {
jedis.del(key);
}
public void close() {
jedis.close();
}
public static void main(String[] args) {
RedisUtil redisUtil = new RedisUtil("localhost", 6379);
redisUtil.append("1", "lelele");
System.out.println(redisUtil.get("1"));
;
redisUtil.delete("1");
redisUtil.close();
}
}