博客
关于我
【JavaWeb】Redis(40)
阅读量:547 次
发布时间:2019-03-09

本文共 2081 字,大约阅读时间需要 6 分钟。

Redis知识总结

引言

这段时间,我在准备参加一个算法比赛。为了和其他队友高效交流,我决定加快Java学习进度。在这过程中,Redis这个高性能的key-value数据库让我印象深刻,因此打算详细记录相关知识。

Redis概述

Redis是一个开源免费的、基于BSD协议的、高性能非关系型数据库,它以内存存储和高效操作著称。Redis的核心存储单元是key-value对,为开发者提供了灵活的数据存储选择。

Redis的应用场景

  • 缓存:快速访问、短连接、新闻内容、商品信息等。
  • 聊天室:存储好友在线状态或聊天记录。
  • 任务队列:秒杀、抢购、12306等实时性高的场景。
  • 应用排行榜:记录和更新应用排名。
  • 网站访问统计:跟踪用户行为和访问数据。
  • 数据过期处理:精确到毫秒自动清理数据。
  • 分布式架构:用于session管理和集群节点间通信。

Redis下载与安装

虽然Redis官方不支持Windows系统,但可以选择使用维护版本。访问以下地址下载Redis:

https://github.com/MicrosoftArchive/redis/releases

安装时,请按照下列步骤操作:

  • 使用Teracotta或其他第三方工具运行,
  • 如下图所示完成安装设置。
  • Redis命令操作

    Redis支持多种数据类型,主要包括以下几种:

    1. string类型

    示例:

    redis> set name "haha"redis> get name"haha"

    2. hash类型

    redis> hmset user:123 age 30 name hahaOKredis> hm get user:123"age":30, "name":"haha"

    3. list类型

    增加元素

    redis> lpush list:1 hahaOK

    取出元素

    redis> lrange list:1 0"haha"

    删除元素

    redis> lpop list:1"haha"

    4. set类型

    redis> sadd set:1 haha userOK

    5. sortset类型

    redis> s add data:1 1 2 3OKredis> s sort data:1[    "3", "2", "1"]

    6. 其他常用命令

    keys用于获取所有以特定前缀开头的键。expire命令用来设置键的过期时间。

    数据持久化

    Redis运行于内存上,重启后数据丢失,所以需要进行持久化存储。使用以下方式实现:

    RDB

  • Open Redis Windows Station:C:\...\redis\windows\redis-server.exe redis.windows.conf
  • 在配置文件中设置持久化参数:
    save 900 1save 300 10save 60 10000
  • AOF

    AOF(Append-only File)采用写入日志的方式,确保数据的安全性。与RDB相比,AOF支持复杂的持久化操作,适合高稳定性的场景。

    Jedis操作

    安装与使用

  • 添加Jedis jars包。
  • 创建连接:
  • public class Demo01 {    public static void main(String[] args) {        Jedis jedis = new Jedis("localhost", 6379);        jedis.set("name", "haha");        jedis.close();    }}

    Connection Pool

    为了高效管理资源,推荐使用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/

    你可能感兴趣的文章
    Mysql 学习总结(88)—— Mysql 官方为什么不推荐用雪花 id 和 uuid 做 MySQL 主键
    查看>>
    Mysql 学习总结(89)—— Mysql 库表容量统计
    查看>>
    mysql 实现主从复制/主从同步
    查看>>
    mysql 审核_审核MySQL数据库上的登录
    查看>>
    mysql 导入 sql 文件时 ERROR 1046 (3D000) no database selected 错误的解决
    查看>>
    mysql 导入导出大文件
    查看>>
    mysql 将null转代为0
    查看>>
    mysql 常用
    查看>>
    MySQL 常用列类型
    查看>>
    mysql 常用命令
    查看>>
    Mysql 常见ALTER TABLE操作
    查看>>
    MySQL 常见的 9 种优化方法
    查看>>
    MySQL 常见的开放性问题
    查看>>
    Mysql 常见错误
    查看>>
    MYSQL 幻读(Phantom Problem)不可重复读
    查看>>
    mysql 往字段后面加字符串
    查看>>
    mysql 快速自增假数据, 新增假数据,mysql自增假数据
    查看>>
    Mysql 报错 Field 'id' doesn't have a default value
    查看>>
    MySQL 报错:Duplicate entry 'xxx' for key 'UNIQ_XXXX'
    查看>>
    Mysql 拼接多个字段作为查询条件查询方法
    查看>>