Redis入门详解

Redis是一个高性能的key-value存储系统,以其原子性、丰富的数据结构、持久化和主从复制等特性广泛应用。适用于缓存、计数、实时消息系统等场景。本文还介绍了Redis的安装部署步骤,包括编译、配置和启动验证。
摘要由CSDN通过智能技术生成

①.Redis简介

Redis是一个使用C语言编写的key-value开源的NOSQL存储系统。(区别于MySQL的二维表格的形式存储)。

Redis是单线程+多路IO复用技术

②.Redis特点

1、高效性:Redis读取的速度是110000次/s,写的速度是81000次/s
2、原子性:Redis的所有操作都是原子性的,不能再细化的。
3、支持杜仲数据结构:string(字符串);list(列表);hash(哈希),set(集合)
4、稳定性强:支持数据持久化,支持主从结构的数据备份
5、其他:支持数据有效期,支持订阅。

③.Redis适用场景

1、.取最新N个数据的操作
2、取TOP N操作
3、需要精准设定过期时间的场景
4、计数器应用
5、Uniq操作,获取某段时间所有数据排重值
6、Pub/Sub构建实时消息系统
7、缓存数据(缓存的是热数据)
8、构建队列系统

热数据:经常被使用的数据,访问频次较高的数据为热数据。

④.Redis不适用场景

需要事务支持
基于sql的结构化查询存储,处理复杂的关系,需要即席查询

⑤Nosq数据库举例

1、memcache 比较早的Nosq数据库,不持久化,目前适用的很少
2、redis 覆盖了memcache几乎所有功能,支持数据持久化,支持多种数据结构的存储
3、mongoDB 也是key-value模式,对value进行了很多优化,在部分场景中可以取代关系性数据库。
4、hbase海量数据 ,精确查询,快速返回

⑥Redis 安装部署

1、上传安装包,并解压。

2、安装编译需要的环境

yum install -y gcc-c++
yum install -y tcl

3、编译redis( C语言编写的软件需要重新编译 )

make && make install

看到如下表示编译成功

4、修改配置文件

首先创建日志存放路径和数据持久化存储的路径

mkdir -p /export/servers/redis-3.2.8/logs
mkdir -p /export/servers/redis-3.2.8/redisdata

修改配置文件

bind node01
daemonize yes
pidfile /var/run/redis_6379.pid
logfile "/export/servers/redis-3.2.8/logs/redis.log"
dir /export/servers/redis-3.2.8/redisdata

5、启动并验证

./redis-server ../redis.conf
[root@node01 src]# ps -ef |grep redis
root 7472 1 0 01:17 ? 00:00:00 ./redis-server node01:6379

验证

[root@node01 src]# ./redis-cli -h node01
node01:6379> set name zhangsan
node01:6379> keys *
1) "name"
node01:6379> get name
"zhangsan"
node01:6379>

代码

//获取redis连接池
        JedisPool jedisPool = new JedisPool("192.168.100.103",6379);
        //获取连接对象
        Jedis jedis = jedisPool.getResource();
        //通过对象调用api
        //jedis.set("string9999","233333");
        String string9999 = jedis.get("string9999");
        System.out.println(string9999);
        jedis.close();
//设置数据库连接池
        JedisPoolConfig jedisPoolConfig = new JedisPoolConfig();
        //设置连接池的最大连接数
        jedisPoolConfig.setMaxTotal(50);
        //设置最大空闲数量
        jedisPoolConfig.setMaxIdle(10);
        //设置最大小空闲数量
        jedisPoolConfig.setMaxIdle(5);
        //连接超时时间(最大等待时间)
        jedisPoolConfig.setMaxWaitMillis(30);
        //获取redis连接池
        JedisPool jedisPool = new JedisPool(jedisPoolConfig,"192.168.100.103", 6379);
        //获取连接对象
        Jedis jedis = jedisPool.getResource();
        //通过对象调用api
        String string9999 = jedis.get("string9999");
        System.out.println(string9999);
        jedis.close();
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值