Julia: 用Julia操作Redis数据库及一些用法
2015-10-05 12:13
507 查看
事实上,Julia有多个操作Redis库。其中,我更倾向于下面这个:
https://github.com/jkaye2012/Redis.jl
前面我们已经知道,Redis 是KEY-VALUE结构。
如果在Redis客户端,我们可以(以下数据为虚拟)
set 600036.SH_1min:2014-10-8:0930:Open 10.08
set 600036.SH_1min:2014-10-8:0930:Close 10.20
set 600036.SH_1min:2014-10-8:0930:High 10.30
set 600036.SH_1min:2014-10-8:0930:Low 10.01
......
而如果利用Julia的脚本来替代其客户端,可以
tempdata =Dict{Any,Any}();
# 注意不能写Dict{ASCIIString,Float64}();hmset函数要求数据格式类型是DICT{ANY,ANY}()类型!
setindex!(tempdata,10.08,"600036.SH_1min:2014-10-8:0930:Open") # 0.4版本
setindex!(tempdata,10.20,"600036.SH_1min:2014-10-8:0930:Close")
setindex!(tempdata,10.30,"600036.SH_1min:2014-10-8:0930:High")
setindex!(tempdata,10.01,"600036.SH_1min:2014-10-8:0930:Low")
......
先把相关的DICT类型数据建立起来。
(1)存数据
using Redis;
conn = RedisConnection( host="127.0.0.1", port=6379, db=15)# 建立一个连接, 没有设置密码
我们假定在Redis数据库中,把一个代码某一天的数据存到一个文件中:
hmset(conn,“600036.SH_1min:2014-10-8”,tempdata)#把相关的数据(Dict类型)放入表内。
特别注意,如果tempdata =Dict("a"=>"b") 或 tempdata =Dict(1=>2) (大家可以验证是一下是什么类型?)
这类不是Dict{Any,Any}类型,会报错!(为什么?)
(2)取数据
historydata = hgetall(conn,“600036.SH_1min:2014-10-8”) # 原来的DICT集合。
其中,返回值historydata 是DICT{AbstractString,AbstractString} 类型。
注意,返回值不是Dict{Any,Any}类型!
(3)执行持久化命令
在客户端,可以用SAVE或BGSAVE(后台线程持久化).
在 Redis库中,Julia可以通过如下形式实现。
总之,Julia脚本实现对Redis的操作,也很方便。
https://github.com/jkaye2012/Redis.jl
前面我们已经知道,Redis 是KEY-VALUE结构。
如果在Redis客户端,我们可以(以下数据为虚拟)
set 600036.SH_1min:2014-10-8:0930:Open 10.08
set 600036.SH_1min:2014-10-8:0930:Close 10.20
set 600036.SH_1min:2014-10-8:0930:High 10.30
set 600036.SH_1min:2014-10-8:0930:Low 10.01
......
而如果利用Julia的脚本来替代其客户端,可以
tempdata =Dict{Any,Any}();
# 注意不能写Dict{ASCIIString,Float64}();hmset函数要求数据格式类型是DICT{ANY,ANY}()类型!
setindex!(tempdata,10.08,"600036.SH_1min:2014-10-8:0930:Open") # 0.4版本
setindex!(tempdata,10.20,"600036.SH_1min:2014-10-8:0930:Close")
setindex!(tempdata,10.30,"600036.SH_1min:2014-10-8:0930:High")
setindex!(tempdata,10.01,"600036.SH_1min:2014-10-8:0930:Low")
......
先把相关的DICT类型数据建立起来。
(1)存数据
using Redis;
conn = RedisConnection( host="127.0.0.1", port=6379, db=15)# 建立一个连接, 没有设置密码
我们假定在Redis数据库中,把一个代码某一天的数据存到一个文件中:
hmset(conn,“600036.SH_1min:2014-10-8”,tempdata)#把相关的数据(Dict类型)放入表内。
特别注意,如果tempdata =Dict("a"=>"b") 或 tempdata =Dict(1=>2) (大家可以验证是一下是什么类型?)
这类不是Dict{Any,Any}类型,会报错!(为什么?)
(2)取数据
historydata = hgetall(conn,“600036.SH_1min:2014-10-8”) # 原来的DICT集合。
其中,返回值historydata 是DICT{AbstractString,AbstractString} 类型。
注意,返回值不是Dict{Any,Any}类型!
(3)执行持久化命令
在客户端,可以用SAVE或BGSAVE(后台线程持久化).
在 Redis库中,Julia可以通过如下形式实现。
总之,Julia脚本实现对Redis的操作,也很方便。
相关文章推荐
- redis使用场景
- 学习ThinkPHP3.2.2:video14,压缩包,不包含Redis部分
- 懒 Redis 是更好的 Redis
- 懒 Redis 是更好的 Redis
- 用redis做一个简单的秒杀
- 懒 Redis 是更好的 Redis
- CentOS6.4 安装OpenResty和Redis 并在Nginx中利用lua简单读取Redis数据
- (转)redis 学习笔记(1)-编译、启动、停止
- Redis: 为行情数据库设计键值
- 【Redis常见问题】
- redis 算法移植-链表
- redis-cli的三种使用方法
- Redis数据类型,以及应用场合
- redis 部署
- redis主从切换的集群管理
- redis之如何配置jedisPool参数
- redis源码分析
- redis协议
- redis.conf 配置详解
- redis.conf 配置事例