Redis

redis是什么?

Redis是一个开源(BSD许可),内存存储的数据结构服务器,可用作数据库,高速缓存和消息队列代理。它支持字符串、哈希表、列表、集合、有序集合,位图,hyperloglogs等数据类型。内置复制、Lua脚本、LRU收回、事务以及不同级别磁盘持久化功能,同时通过Redis Sentinel提供高可用,通过Redis Cluster提供自动分区。
redis

redis的优势

  • 速度快

(1) 因为数据存在内存中,类似于 HashMap ,HashMap 的优势就是查找和操作的时间复杂度都是O (1) 。
(2) Redis 本质上是一个 Key-Value 类型的内存数据库,很像Memcached ,整个数据库统统加载在内存当中进行操作,定期通过异步操作把数据库数据 flush 到硬盘上进行保存。fork子进程持久化。
(3) 因为是纯内存操作,Redis 的性能非常出色,每秒可以处理超过 10 万次读写操作,是已知性能最快的 Key-Value 数据库。

  • 支持丰富数据类型: String ,List,Set,Sorted Set,Hash 。

Redis 的出色之处不仅仅是性能,Redis 最大的魅力是支持保存多种数据结构,此外单个 Value 的最大限制是1GB,不像 Memcached只能保存1MB的数据,因此Redis可以用来实现很多有用的功能

  • 丰富的特性

订阅发布 Pub / Sub 功能
Key 过期策略
事务
支持多个 DB
计数

  • 持久化存储

Redis 提供 RDB 和 AOF 两种数据的持久化存储方案,解决内存数据库最担心的万一 Redis 挂掉,数据会消失掉

redis的缺点

  1. 由于 Redis 是内存数据库,所以,单台机器,存储的数据量,跟机器本身的内存大小。虽然 Redis 本身有 Key 过期策略,但是还是需要提前预估和节约内存。如果内存增长过快,需要定期删除数据。
  2. redis是单线程的,单台服务器无法充分利用多核服务器的CPU

java连接redis(简单测试)

1、先在pom文件导入依赖

		<dependency>
            <groupId>redis.clients</groupId>
            <artifactId>jedis</artifactId>
            <version>3.1.0</version>
        </dependency>

2、然后创建一个类用来测试连接,创建main方法

	 //java断通过 jedis操作redis服务器
    public static void main(String []args){
        Jedis jedis = new Jedis("这里写服务器的地址",6379);
        System.out.println(jedis.ping());
        //连接成功
    }

如果结果为PONG则表示连接成功,如果没成功,记得关闭防火墙,切记要打开6379端口号

3、写一个简单的测试类

@Test
    void contextLoads() {
    //获取连接
        Jedis jedis = new Jedis("106.13.180.225",6379);
        jedis.set("userName","jack");
        String userName = jedis.get("userName");
        System.out.println("redis的name是:"+userName);
        jedis.close();
    }

运行结果:

redis的name是:jack

然后再xshell端查看是否存储成功

127.0.0.1:6379> get userName
"jack"
127.0.0.1:6379> 

测试成功!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值