- Methods: All Methods Documented Methods Hide Methods
- Source: Display Source Hide Source
- Variables: Show Variables Hide Variables
Class ::acs::Cache
::acs::Cache create ... \
[ -default_size (default "100KB") ] \
[ -maxentry:integer maxentry:integer ] \
[ -name name ] \
[ -package_key:required package_key:required ] \
[ -parameter:required parameter:required ] \
[ -timeout (default "5m") ]
Class Relations
::nx::Class create ::acs::Cache \ -superclass ::nx::ObjectMethods (to be applied on instances)
eval (scripted)
<instance of acs::Cache> eval
- Partial Call Graph (max 5 caller/called nodes):
- Testcases:
- xotcl_core_tutorial_2, xotcl-core, xowiki_test_cases
if {![info exists partition_key]} { set partition_key $key } foreach optional_parameter {expires timeout} { if {[info exists $optional_parameter]} { set ${optional_parameter}_flag [list -$optional_parameter [set $optional_parameter]] } else { set ${optional_parameter}_flag "" } } set cache_name [:cache_name $partition_key] try { if {$per_request} { acs::per_request_cache eval -key ::acs-${cache_name}($key) { :uplevel [list ns_cache_eval {*}$expires_flag {*}$timeout_flag -- $cache_name $key $command] } } else { :uplevel [list ns_cache_eval {*}$expires_flag {*}$timeout_flag -- $cache_name $key $command] } } on break {r} { # # When the command ends with "break", it means: # "don't cache". We return in this case always a # 0. # #ns_log notice "====================== [self] $key -> break -> <$r>" return 0 } on ok {r} { return $r }flush (scripted)
if {![info exists partition_key]} { set partition_key $key } ::acs::clusterwide ns_cache flush [:cache_name $partition_key] $keyflush_all (scripted)
:flush_cacheflush_cache (scripted)
::acs::clusterwide ns_cache_flush [:cache_name $partition_key] #ns_log notice "flush_all -> ns_cache_flush [:cache_name $partition_key]" #ns_log notice "... content of ${:name}: [ns_cache_keys ${:name}]"flush_pattern (scripted)
return [::acs::clusterwide ns_cache_flush -glob [:cache_name $partition_key] $pattern]get (scripted)
if {![info exists partition_key]} { set partition_key $key } return [ns_cache get [:cache_name $partition_key] $key]init (scripted)
if {![info exists :name]} { set :name [namespace tail [current]] } :cache_create ${:name} [:get_size]set (scripted)
if {![info exists partition_key]} { set partition_key $key } :uplevel [list ns_cache_eval -force -- [:cache_name $partition_key] $key [list set _ $value]]show_all (scripted)
ns_log notice "content of ${:name}: [ns_cache_keys ${:name}]"
- Methods: All Methods Documented Methods Hide Methods
- Source: Display Source Hide Source
- Variables: Show Variables Hide Variables