| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 大数据 -> redis -> 正文阅读 |
|
[大数据]redis |
? Redis ????????Redis 内置了复制(replication),LUA脚本(Lua scripting),LRU驱动事件 (LRU eviction),事务(transactions)和不同级别的 磁盘持久化(persistence), 并通过Redis哨兵(Sentinel) 和自动分区(Cluster)提供高可用性(high availability)
关系型数据库 非关系型数据库 ????????优点 ????????????????根据需要添加字段,不需要多表联查。仅需id取出对应的value ????????????????适用于SNS(社会化网络服务软件。比如facebook,微博) ????????????????严格上讲不是一种数据库,而是一种数据结构化存储方法的集合 缺点: ????????只适合存储一些较为简单的数据 ????????不合适复杂查询的数据 ????????不合适持久存储海量数据 比较 ? 安装 1.下载redis 2.上传到服务器 3.解压 ????????tar zxvf redis-5.0.3.tar.gz 4.安装依赖 ????????yum -y install gcc-c++ autoconf automake 5.预编译 ????????cd redis-5.0.3/ ????????make 6.安装 ????????指定安装目录 ????????????????make PREFIX=/usr/local/redis/ install 安装成功 ?7.启动 ??????? cd /usr/local/redis/bin ????????./redis-server 默认为前台启动,修改为后台启动 ????????cp redis.conf /usr/local/redis/bin/ 启动时,指定配置文件路径 ??????? ./redis-server ./redis.conf ? 8.修改配置文件 ??????? vi redis.conf ????????1.注释掉 bind 127.0.0.1 ????????2.关闭保护模式,修改为no ??????? 3.添加访问认证 ? 9.修改后kill -9 XXXX杀死redis进程,重启redis ??????? ps -ef | grep redis ??????? kill -9 5699 ???????? ./redis-server ./redis.conf ?
主备切换多节点 修改哨兵配置sentinel.conf 哨兵监听的主节点IP地址 ?设置访问权限主节点认证码 ?日志文件生成的路径和名称 ?后台运行 ? ? Lettuce和Jedis的区别 Jedis 是一个优秀的基于 Java 语言的 Redis 客户端,但是,其不足也很明显: Jedis 在实现上是直接连接 Redis-Server,在多个线程间共享一个 Jedis 实例时是 线程不安全的,如果想要在多线程场景下使用 Jedis ,需要使用连接池,每个线程 都使用自己的 Jedis 实例,当连接数量增多时,会消耗较多的物理资源。 Lettuce 则完全克服了其线程不安全的缺点: Lettuce 是基于 Netty 的连接 (StatefulRedisConnection), Lettuce 是一个可伸缩的线程安全的 Redis 客户端,支持同步、异步和响应式模 式。多个线程可以共享一个连接实例,而不必担心多线程并发问题。它基于优秀 Netty NIO 框架构建,支持 Redis 的高级功能,如 Sentinel,集群,流水线,自动重新 连接和 Redis 数据模型。 自定义模板解决序列化问题 @Configuration public class RedisConfig { //方法名称必须是redisTemplate,相当于覆盖自动化配置中的序列化模式 @Bean public RedisTemplate redisTemplate(LettuceConnectionFactory redisConnectionFactory){ RedisTemplate redisTemplate = new RedisTemplate<>(); //为string类型key设置序列器 redisTemplate.setKeySerializer(new StringRedisSerializer()); //为string类型value设置序列器 redisTemplate.setValueSerializer(new GenericJackson2JsonRedisSerializer()); //为hash类型key设置序列器 redisTemplate.setHashKeySerializer(new StringRedisSerializer()); //为hash类型value设置序列器 redisTemplate.setHashValueSerializer(new GenericJackson2JsonRedisSerializer()); redisTemplate.setConnectionFactory(redisConnectionFactory); return redisTemplate; } }
|
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/23 20:18:13- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |