inst/doc/caching.R

## ---- include = FALSE---------------------------------------------------------
knitr::opts_chunk$set(
  collapse = TRUE,
  comment = "#>"
)

## ----setup--------------------------------------------------------------------
library(tidywikidatar)

## -----------------------------------------------------------------------------
tw_enable_cache()

## ----eval=FALSE---------------------------------------------------------------
#  tw_set_cache_folder(path = fs::path(
#    fs::path_home_r(),
#    "R",
#    "tw_data"
#  ))
#  tw_create_cache_folder()

## ----eval = FALSE-------------------------------------------------------------
#  tw_enable_cache(SQLite = FALSE)
#  tw_set_cache_db(
#    driver = "MySQL",
#    host = "localhost",
#    port = 3306,
#    database = "tidywikidatar",
#    user = "secret_username",
#    pwd = "secret_password"
#  )
#  
#  
#  # for testing, consider running a local database e.g. with:
#  # docker run --name tidywikidatar_db -p 3306:3306 -e MYSQL_ROOT_PASSWORD=secret_root_password -e MYSQL_USER=secret_username -e MYSQL_PASSWORD=secret_password -e MYSQL_DATABASE=tidywikidatar mysql:latest

## -----------------------------------------------------------------------------
tw_get_cache_table_name(type = "item", language = "en")

## ----eval=FALSE---------------------------------------------------------------
#  db <- tw_connect_to_cache()
#  
#  
#  tables_v <- DBI::dbListTables(conn = db)
#  
#  # for search cache tables
#  purrr::walk(
#    .x = tables_v[stringr::str_starts(string = tables_v, "tw_search_item")],
#    .f = function(x) {
#      tw_index_cache_search(table_name = x)
#    }
#  )
#  
#  # for item cache tables
#  purrr::walk(
#    .x = tables_v[stringr::str_starts(string = tables_v, "tw_item")],
#    .f = function(x) {
#      tw_index_cache_item(table_name = x)
#    }
#  )

Try the tidywikidatar package in your browser

Any scripts or data that you put into this service are public.

tidywikidatar documentation built on March 31, 2023, 9:08 p.m.