Documentation
¶
Overview ¶
Package cache は key-value 型の簡易 DB です. 翻訳済みの結果をキャッシュするのに使われます.
New(<キャッシュ ID>) でインスタンスが作成されると、テンポラリ・ディレクトリにキャッシュ用のディレクトリを作成します。
主に "Set(<翻訳前テキスト>, <翻訳後テキスト>)" のように、翻訳結果をキャッシュするのに使われます。 デフォルトで共通のキャッシュ・ディレクトリを利用します。異なるキャッシュにしたい場合は任意のキャッシュ ID を指定します。
myCache := cache.New("myCache")
主なメソッド
Set(key, value) ... キャッシュの作成・更新をします Get(key) ... キャッシュから値を取得します。 ClearAll() ... キャッシュ・ディレクトリを削除します。
Index ¶
Examples ¶
Constants ¶
const NameDirCacheDefault = "QiiTrans"
NameDirCacheDefault はキャッシュ時のデフォルトのディレクトリ名もしくはプレフィックス(接頭辞)です.
テンポラリ・ディレクトリの、この名前の付いたディレクトリは削除可能です.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type TCache ¶
type TCache struct {
NameDirCache string
PathDirTemp string
// contains filtered or unexported fields
}
TCache はキャッシュ DB の構造体です. badger(https://github.com/dgraph-io/badger) のラッパーです.
func New ¶
New は TCache の新規オブジェクトのポインタを返します. デフォルトで共通のキャッシュを利用します。各々異なるキャッシュにしたい場合は、引数に ID を指定します.
Example ¶
package main
import (
"fmt"
"github.com/Qithub-BOT/QiiTrans/src/cache"
)
func main() {
// 汎用のキャッシュにしたくない場合は ID を指定する。この場合は "my sample DB".
tmpCache := cache.New("my sample DB")
// 終了時にキャッシュを削除したい場合は defer で ClearAll する
defer tmpCache.ClearAll()
phraseOriginal := "Hello, world!"
phraseTranslated := "世界よ、こんにちは!"
// Set でキャッシュに登録
err := tmpCache.Set(phraseOriginal, phraseTranslated)
if err != nil {
panic(err)
}
// Get でキャッシュから取得
result, err := tmpCache.Get(phraseOriginal)
if err != nil {
panic(err)
}
fmt.Println(result)
}
Output: 世界よ、こんにちは!
func (*TCache) CloseDB ¶
func (c *TCache) CloseDB()
CloseDB はキャッシュの DB をクローズします. DB がオープンされていない場合は何もしません. クローズに失敗した場合はパニックを起こします.
このメソッドは、Get() Set() でも呼び出されるため、利用時に OpenDB() CloseDB() を行う必要はありません.
func (*TCache) GetPathDirCache ¶
GetPathDirCache は現在のキャッシュ先のディレクトリを返します.
func (*TCache) GetValueInByte ¶
GetValueInByte はバイトデータにハッシュ化された keyHashed キーを使ってキャッシュを探索しバイトデータで返します.