Day 19 - 实测盘中订阅 tick 与 bidask 资料是否有先後顺序 (上)

本篇重点

刚好看到有人在询问,是否先有tick资料,才会更新bidask的资料
这里就来实测,顺便练习一下如何取得测试资料,整理并统整出来
在测试之前要先安装Redis,用来储存我们盘中所要储存的资料内容,本篇先介绍在windows上要如安装及测试Redis

  • Redis介绍
  • WSL及Docker安装
  • 下载Reids的Docker Image及设定
  • 测试Redis是否正常运作

Redis介绍

Redis官网:https://redis.io/
https://zh.wikipedia.org/zh-tw/Redis
Redis是一个非关联式资料库(No-SQL),因为主要是用In-memory的方式储存资料,所以非常适合用来储存短时间大量资料的使用场景,也就是拿来当快取cache使用。
由於Redis官方并不建议在Windows环境中使用Redis,所以官方也没有提供Windows版本的安装档。若要在Windows环境中使用Redis,有两种方式,第一个是用非官方发布版本,这是由微软团队维护的版本,但目前最新版本只有3.2.100,若要使用,可至以下网址进行下载
https://github.com/MicrosoftArchive/redis/releases
安装方式步骤,可参考以下文章:
https://www.dotblogs.com.tw/YiruAtStudio/2021/01/13/111530
另一个方式是,在Windows上,透过WSL下载并执行Redis的Docker。以下将介绍此种方式。

WSL及Docker Desktop安装

在安装Docker Desktop,要先安装并启用WSL
按左下角的「搜寻」按钮并输入「power」,在「Windows PowerShell」中选择「以系统管理员」执行
https://ithelp.ithome.com.tw/upload/images/20211003/20140827hqNBzWEO78.png
输入「wsl --install」并按下Enter键进行安装
https://ithelp.ithome.com.tw/upload/images/20211003/201408271QvylkbMS4.png
PowerShell就会开始安装wsl,安装完成後,会提示须要重新开机
https://ithelp.ithome.com.tw/upload/images/20211003/2014082737pPKeJP0V.png
重新开机後,会自动在wsl中安装Ubuntu
https://ithelp.ithome.com.tw/upload/images/20211003/20140827BduwiJHumN.png
Ubuntu安装完成後,会请你输入Ubuntu中所要使用的帐号及密码,输入完成按Enter键即可
https://ithelp.ithome.com.tw/upload/images/20211003/201408274TiPTk7ufi.png
设定完成,就会出现下面这个画面
https://ithelp.ithome.com.tw/upload/images/20211003/20140827B26EpfE4hN.png
接着,安装Docker Desktop。首先打开下列网址,并点「Download for Windows」下载安装档
https://www.docker.com/products/docker-desktop
https://ithelp.ithome.com.tw/upload/images/20211004/201408274Lt35EhWQu.png
下载完成後,执行安装程序,按「OK」进行安装
https://ithelp.ithome.com.tw/upload/images/20211004/201408273eNGIciWX5.png
安装完成後,会需要登出Windows并重新登入。请先关闭其它应用程序,再进行登出动作。
https://ithelp.ithome.com.tw/upload/images/20211004/2014082777JhiBrb9R.png
重新登入後,Windows就会自动启动Docker Desktop,第一次执行会让你确认服务条款,这里请勾选「I accept the terms」并按下「Accept」
https://ithelp.ithome.com.tw/upload/images/20211004/20140827obQ5c8j883.png
然後,就可以先将Docker Desktop的视窗关闭
https://ithelp.ithome.com.tw/upload/images/20211004/201408276FUcmqqP69.png

安装WSL後,也不一定要安Docker Desktop才可以执行Docker服务,若要使用CLI进行安装及设定,可参考下列文章:
https://dev.to/bowmanjd/install-docker-on-windows-wsl-without-docker-desktop-34m9

下载Reids的Docker Image及设定

接着开启PowerShell,并输入「docker pull redis」下载redis的docker image
https://ithelp.ithome.com.tw/upload/images/20211004/20140827UmFWtfRg8g.png
下载完成後,开启Docker Desktop,在Image中就可以看到redis。接着按右边的「run」启动redis
https://ithelp.ithome.com.tw/upload/images/20211004/201408277aSKkcfsib.png
输入Container Name及Local Host的Port,这里Port我们直接输入预设的6379,最後按下「Run」
https://ithelp.ithome.com.tw/upload/images/20211004/201408272SiWmTHqjW.png
就可以看到刚才建立的redis-sj已经在执行中
https://ithelp.ithome.com.tw/upload/images/20211004/20140827Xam99Jk4xf.png

测试Redis是否正常运作

首先,在console中输入「pip install redis」安装redis套件
https://ithelp.ithome.com.tw/upload/images/20211004/20140827a1KdGIkVQZ.png
接着,建立测试程序码,范例如下:

import redis
#建立连线,port指定刚才在Docker中所设定的port,并将decode_responses设为True,让取得资料时自动decode
r = redis.StrictRedis(host='localhost', port=6379, decode_responses=True)
r.set('myName', 'Mike') #存入key及value
r.set('中文的key', '中文的value') #存入资料,key可以是中文
print(r)
print(r.get('myName')) #输入key值来取得刚
print(r.get('中文的key'))

redis储存方式为key和value,用set的方式来增加或更新value,用get的方式来取得所储存的value。若上述程序可以正常执行并取得所存入的value,就表示Redis已正常执行。


<<:  [Day 21] Facial Recognition: 只需要OpenCV就可以达成即时人脸辨识

>>:  Day19-部署篇(一)Amazon EC2

[履历]你要对自己的履历了若指掌

如果为了履历好看放上参与度不高的专案、不够熟悉的技术、不真实的自我介绍;遇上老练的面试官,你将会血...

Day 1:AWS 是什麽?30天从动漫/影视作品看AWS服务应用 -《Vivy -Fluorite Eye's Song》Part 1

AWS服务作为云端服务热门选项已有年余, 但是对於初来乍到的云端新手, 在浮沈於众多名词海与概念海之...

Day9 Android - Intent(换页)的基础上->A页面传值(bundle)至B页面

继昨天讲完了Intent(换页),今天主要要讲bundle(传值)的部分,接续昨天设计完的程序再来加...

DAY10-小型成果发表

前言: 今天要来让大家做一个小型的成果发表,看完接下来的内容後,希望大家都可以学到怎麽让大家连上你...

[早餐吃到饱-2] 星享道酒店 - 星飨道国际自助餐 - 早餐 In Sky International Buffet - 台中逢甲商圈

中秋节连假的最後一个早上,就用早餐吃到饱跟大家说声早安!! 8个月前,决定要分享我生活中很重要的部分...