将Oracle中的数据导入到Redis缓存中(SqlPlus+Shell)
准备导出spool文件(具体的配置自己查吧!):
set trimspool on
set linesize 120
set pagesize 2000
set newpage 1
set heading off
set term OFF
spool /sql/exp.txt
select 'ZADD',字段key,字段score(数字类型)||'.0',字段value from 表 where 各字段 is not null;
spool off
将脚本保存至:/sql/test.sql
从数据库中导出数据:
sqlplus 账号/密码 @/sql/test.sql
安装tofrodos-1.7.13.tar.gz(这个文件可不好找,我放附件里了!)
tar -xvf tofrodos-1.7.13.tar.gz
cd tofrodos-1.7.13/src
make all
make BINDIR=/usr/local/bin MANDIR=/usr/local/man/ install
查看一下从oracle中导出的文件
head -n5 exp.txt
发现文件头部分有一个空行
tail -10f exp.txt
发现文件尾有导出数据行数的统计:6 rows selected.
删除所有空行,再删除最后一行中的统计信息6 rows selected.
sed '/^\s*$/d' exp.txt | sed '/selected/d' >redis_imp.txt
# The character class \s will match the whitespace characters <tab> and <space>.
查看处理后的文件一共多少行:
wc -l redis_imp.txt
6
一共就是导出的6行数据
使用dos2unix进行格式转换(直接覆盖原文件使用-o选项):
dos2unix -o redis_imp.txt
准备向redis数据库中导入数据(使用pipe):
cat redis_imp.txt | redis-cli --pipe
稍等片刻:
All data transferred. Waiting for the last reply...
Last reply received from server.
errors: 0, replies: 6
测试了一下,100万数据,没多大会就导入进去了!
你成功啦!
附上SQLPLUS的配置:
export ORACLE_SID=实例名
export ORACLE_BASE=/oracle/
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/Db_1
ln -s $ORACLE_HOME/bin/sqlplus /usr/bin
cd $ORACLE_HOME/network/admin
cp tnsnames.ora tnsnames20160101.ora
vi tnsnames.ora
添加:
TEST = 登陆的SID
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.21.1)(PORT = 1521)) IP地址和端口号
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl) 要链接数据库名
)
)
:wq
设置一下配置文件权限,以便其它用户使用
chmod 755 tnsnames.ora
sqlplus 用户名/密码@登陆的SID
相关推荐
在SpringBoot项目中,MybatisPlus与Redis的整合可以实现高效的数据缓存,提升应用程序的性能。本项目中,我们看到“SpringBoot项目 MybatisPlus使用 Redis缓存.zip”主要涉及了SpringBoot、MybatisPlus和Redis三个...
"redis缓存服务器Nginx+Tomcat+redis+MySQL实现session会话共享"的主题旨在探讨如何利用这些技术组件来实现这一目标。以下是相关知识点的详细说明: **Redis**:Redis是一个高性能的键值数据存储系统,常用于做缓存...
通过以上步骤,我们可以成功地将Redis集成到MyBatis中,利用其作为二级缓存,极大地提高了系统的性能和响应速度。需要注意的是,在实际应用中还需要根据具体业务需求调整缓存策略,比如选择合适的缓存淘汰策略、调整...
在SSM+Redis+Shiro的架构中,Shiro可以与Redis结合,将用户的登录信息和权限信息存储在Redis中,实现跨服务器的会话共享,提高系统的可扩展性和安全性。 "redisdemo"可能是一个包含Redis示例代码的项目,开发者可以...
3. **实现缓存策略**: 缓存策略决定了何时从Ehcache中移除数据,以及何时将数据从Ehcache写入Redis。这通常可以通过设置过期时间、缓存更新事件监听器等方式实现。 4. **代码中使用缓存**: 在业务代码中,我们可以...
4、在缓存方面运用了互联网的流行技术redis实现缓存存贮,通过本项目可以理解redis在实际运用中的优势。 5、会员认证通过短信平台发送手机短信流行的认证方式,可以深刻理解手机验证码发送功能的实现。 6、...
5. 集成Redis,配置Redis连接池,编写RedisTemplate或StringRedisTemplate的配置,实现数据缓存操作。 6. 编写Spring MVC的Controller,通过注解将HTTP请求映射到处理方法,调用服务层完成业务逻辑。 7. 运行项目,...
springboot + mybatis-plus + database+ 多数据源 + redis + hutool 框架干净,没有其他冗余的成分; 配置了MP的代码生成器,意见生成代码,节省开发时间! 可用于各种定时任务处理,各种夸库操作, 多数据源支持...
Redis是一款基于键值对的高性能NoSQL数据库,常用于做数据缓存。它支持丰富的数据结构(如字符串、哈希、列表、集合等),并且具备高速读写性能,能够提供更强大的缓存能力。 在"springMybatis+redis三级缓存框架...
本地缓存指的是将数据存储在应用程序的内存中,通常是Java的HashMap、Guava Cache或C#的MemoryCache等。这种方式的优点在于数据读取速度极快,因为避免了网络通信的延迟。但是,本地缓存的缺点也很明显,如数据一致...
Redis是一个开源的、高性能的键值对存储系统,常用于数据缓存。在本项目中,Redis被用来提升系统的响应速度,通过缓存常用数据,减少对Oracle数据库的访问。Spring Boot提供了对Redis的集成支持,可以方便地进行连接...
remote dictionary Server(Redis) 是一个由 Salvatore Sanfilippo写的 key value存储系统。Redis 提供了一些丰富的数据结构,...本资源里面包括了Redis基本原理+缓存+优化+应用示例资源合集,有兴趣的朋友可以下载学习
读书笔记:高性能秒杀系统redis限流+redis缓存+kafka消息队列+mysql乐观锁
在"Redis+接口+token+Sign+时间戳 Demo"的项目中,它扮演了关键角色,帮助优化接口访问效率并确保安全性。 接口是应用程序之间进行通信的桥梁,而在这个Demo中,Redis被用来管理接口的访问控制。例如,通过设置过期...
1. **MybatisPlus整合Redis**:在需要缓存的查询方法上添加`@Cacheable`注解,通过Spring Cache抽象层,将结果存储到Redis中。下次请求相同数据时,直接从缓存获取,提高响应速度。 2. **RedisTemplate与...
9. **导入导出功能**:支持将数据从一个Redis实例导出到另一个,或者导出到文件,方便数据迁移和备份。 在压缩包中的"readme.txt"文件可能包含了关于如何安装和使用Redis Desktop Manager 0.9.3.39的详细步骤和注意...
在IT行业中,SpringMVC、MyBatis和Redis是三个非常重要的技术组件,它们分别扮演着Web应用架构、数据持久层框架和高速缓存的角色。接下来,我们将详细探讨这三个技术如何整合并发挥协同作用。 首先,SpringMVC是...
Redis缓存+Spring的集成示例 Redis缓存+Spring的集成示例Redis缓存+Spring的集成示例 Redis缓存+Spring的集成示例
用户在前端进行操作,如浏览商品、添加购物车,这些请求被发送到Servlet,Servlet处理请求并更新数据,然后可能通过Redis缓存数据,最后通过JSP将结果呈现给用户。 6. **学习价值**:对于初学者,这个项目提供了一...
3. 将 AOF 文件传输到目标 Redis 实例并使用 `redis-cli --pipe` 命令导入数据。 4. 关闭源 Redis 实例的 AOF 功能。这种方法简单但速度较慢,且文件可能较大,开启 AOF 可能导致 QPS 下降,并存在数据丢失风险。 ...