1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
|
.\" Copyright (c) 2005 Michael Bushkov <bushman@rsu.ru>
.\" All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" $FreeBSD$
.\"
.Dd October 20, 2005
.Dt CACHED 8
.Os
.Sh NAME
.Nm cached
.Nd "caching server daemon"
.Sh SYNOPSIS
.Nm
.Op Fl nst
.Op Fl i Ar cachename
.Op Fl I Ar cachename
.Sh DESCRIPTION
.Nm
is the system caching daemon.
It can cache almost all types of data and is basically intended to be used
with the
.Pa nsswitch
subsystem.
The cache is actually per-user.
This means that each user can work only with the
cached data that were cached by themselves, and cannot poison the
cache of other users.
The
.Nm
utility supports two types of caching:
.Bl -tag -width Pair
.It Sy Type
.Sy Description
.It Common caching
Each cached element is the the key+value pair.
This type of caching supports policies which are applied when maximum
number of cached elements is exceeded.
Three policies are available:
.Pa FIFO
(first in - first out),
.Pa LRU
(least recently used) and
.Pa LFU
(least frequently used).
This type of caching is used with the
.Fn getXXXbyname
family of functions.
.It Multipart caching
Each cached element is the part of the elements sequence.
This type of caching is intended to be used with the
.Fn getXXXent
family of functions.
.El
.Pp
The
.Nm
utility is able not only to cache elements, but to perform the actual nsswitch
lookups by itself.
To enable this feature use the
.Pa perform-actual-lookups
parameter in the
.Xr cached.conf 5
.Pp
The
.Nm
utility recognizes the following runtime options:
.Bl -tag -width indent
.It Fl n
Do not daemonize.
.Nm
will not fork or disconnect itself from the terminal.
.It Fl s
Single-threaded mode.
Forces using only one thread for all processing purposes (it overrides
the
.Pa threads
parameter in the
.Xr cached.conf 5
file).
.It Fl t
Trace mode.
All trace messages will be written to stdout.
This mode is usually used with
.Fl n
and
.Fl s
flags are used for debugging purposes.
.It Fl i Ar cachename
Invalidates personal cache.
When specified,
.Nm
acts as the administration tool.
It asks the already running
.Nm
to invalidate the specified part of the cache of the
calling user.
For example, sometimes you may want to invalidate your
.Pa hosts
cache.
You can specify
.Pa all
as the
.Pa cachename
to invalidate your personal cache as a whole.
You cannot use this option for the cachename, for which
the
.Pa perform-actual-lookups
option is enabled.
.It Fl I Ar cachename
Invalidates the cache for every user.
When specified,
.Nm
acts as the administration tool.
It asks the already
running
.Nm
to invalidate the specified part of the cache for
every user.
You can specify
.Pa all
as the
.Pa cachename
to invalidate the whole cache.
Only the root can use this option.
.El
.Sh FILES
.Bl -tag -width /etc/cached.conf -compact
.It Pa /etc/cached.conf
The default configuration file.
.El
.Sh SEE ALSO
.Xr nsdispatch 3 ,
.Xr cached.conf 5 ,
.Xr nsswitch.conf 5
.Sh "AUTHORS"
.An Michael Bushkov Aq bushman@rsu.ru
.Sh "BUGS"
To report bugs or suggestions please mail me:
.Aq bushman@rsu.ru
|