本文共 2081 字,大约阅读时间需要 6 分钟。
这段时间,我在准备参加一个算法比赛。为了和其他队友高效交流,我决定加快Java学习进度。在这过程中,Redis这个高性能的key-value数据库让我印象深刻,因此打算详细记录相关知识。
Redis是一个开源免费的、基于BSD协议的、高性能非关系型数据库,它以内存存储和高效操作著称。Redis的核心存储单元是key-value对,为开发者提供了灵活的数据存储选择。
虽然Redis官方不支持Windows系统,但可以选择使用维护版本。访问以下地址下载Redis:
https://github.com/MicrosoftArchive/redis/releases
安装时,请按照下列步骤操作:
Redis支持多种数据类型,主要包括以下几种:
示例:
redis> set name "haha"redis> get name"haha"
redis> hmset user:123 age 30 name hahaOKredis> hm get user:123"age":30, "name":"haha"
redis> lpush list:1 hahaOK
redis> lrange list:1 0"haha"
redis> lpop list:1"haha"
redis> sadd set:1 haha userOK
redis> s add data:1 1 2 3OKredis> s sort data:1[ "3", "2", "1"]
如keys
用于获取所有以特定前缀开头的键。expire
命令用来设置键的过期时间。
Redis运行于内存上,重启后数据丢失,所以需要进行持久化存储。使用以下方式实现:
C:\...\redis\windows\redis-server.exe redis.windows.conf
save 900 1save 300 10save 60 10000
AOF(Append-only File)采用写入日志的方式,确保数据的安全性。与RDB相比,AOF支持复杂的持久化操作,适合高稳定性的场景。
public class Demo01 { public static void main(String[] args) { Jedis jedis = new Jedis("localhost", 6379); jedis.set("name", "haha"); jedis.close(); }}
为了高效管理资源,推荐使用Jedis连接池:
public class JedisDemo { private static final String ADDR = "localhost"; private static final int PORT = 6379; public static void main(String[] args) { JedisPool jedisPool = new JedisPool(3, 1000); jedisPool.getResource().set("name", "haha"); jedisPool.close(); }}
public class RedisTools { private static final JedisPool jedisPool = new JedisPool(); public static void main(String[] args) { Jedis jedis = jedisPool.getResource(); jedis.set("data", "haha"); jedis.close(); }}
通过上述步骤,可以轻松进行Redis数据库操作。
转载地址:http://phgiz.baihongyu.com/