acl  3.5.3.0
acl::memcache_session类 参考

#include <memcache_session.hpp>

+ 类 acl::memcache_session 继承关系图:
+ acl::memcache_session 的协作图:

Public 成员函数

 memcache_session (const char *cache_addr, int conn_timeout=180, int rw_timeout=300, const char *prefix=NULL, time_t ttl=0, const char *sid=NULL, bool encode_key=true)
 
 memcache_session (memcache *cache, bool auto_free=false, time_t ttl=0, const char *sid=NULL)
 
 ~memcache_session (void)
 
bool get_attrs (std::map< string, session_string > &attrs)
 
bool set_attrs (const std::map< string, session_string > &attrs)
 
bool remove ()
 
- Public 成员函数 继承自 acl::session
 session (time_t ttl=0, const char *sid=NULL)
 
virtual ~session (void)
 
void reset (void)
 
virtual const char * get_sid (void) const
 
void set_sid (const char *sid)
 
virtual bool flush ()
 
virtual bool set (const char *name, const char *value)
 
virtual bool set (const char *name, const void *value, size_t len)
 
virtual bool set_delay (const char *name, const void *value, size_t len)
 
const char * get (const char *name)
 
virtual const session_stringget_buf (const char *name)
 
virtual bool del_delay (const char *name)
 
virtual bool del (const char *name)
 
bool set_ttl (time_t ttl, bool delay)
 
time_t get_ttl (void) const
 
virtual bool get_attrs (const std::vector< string > &names, std::vector< session_string > &values)
 
- Public 成员函数 继承自 acl::dbuf_obj
 dbuf_obj (dbuf_guard *guard=NULL)
 
virtual ~dbuf_obj ()
 
int pos () const
 
dbuf_guardget_guard () const
 

Protected 成员函数

bool set_timeout (time_t ttl)
 

额外继承的成员函数

- 静态 Protected 成员函数 继承自 acl::session
static void serialize (const std::map< string, session_string > &attrs, string &out)
 
static void deserialize (string &buf, std::map< string, session_string > &attrs)
 
static void attrs_clear (std::map< string, session_string > &attrs)
 
- Protected 属性 继承自 acl::session
session_string sid_
 
time_t ttl_
 
bool sid_saved_
 
bool dirty_
 
std::map< string, session_stringattrs_
 
std::map< string, session_stringattrs_cache_
 

详细描述

session 类,该类使用 memcached 存储 session 数据

在文件 memcache_session.hpp14 行定义.

构造及析构函数说明

◆ memcache_session() [1/2]

acl::memcache_session::memcache_session ( const char *  cache_addr,
int  conn_timeout = 180,
int  rw_timeout = 300,
const char *  prefix = NULL,
time_t  ttl = 0,
const char *  sid = NULL,
bool  encode_key = true 
)

构造函数

参数
cache_addr{const char*} memcached 服务地址,格式: IP:PORT,不能为空
prefix{const char*} 在 memcached 存储的键值的前缀
conn_timeout{int} 连接 memcached 的超时时间(秒)
rw_timeout{int} 与 memcached 通讯的 IO 超时时间(秒)
ttl{time_t} 生存周期(秒)
sid{const char*} session 对应的 sid,当为空时,内部 会自动生成一个,其它说明请参考基类 session 的说明
encode_key{bool} 是否对存储于 memcached 的键值进行编码

◆ memcache_session() [2/2]

acl::memcache_session::memcache_session ( memcache cache,
bool  auto_free = false,
time_t  ttl = 0,
const char *  sid = NULL 
)

以输入的 memcached 的连接对象为参数的构造函数

参数
cache{memcache*} 输入的 memcached 连接对象
auto_free{bool} 当该参数为 true 时,则要求该 memcached_session 对象析构函数中释放传入的 cache 对象; 否则则禁止在 memcached_session 的析构函数中释放 cache 对象
ttl{time_t} 生存周期(秒)
sid{const char*} session 对应的 sid,当为空时,内部 会自动生成一个,其它说明请参考基类 session 的说明

◆ ~memcache_session()

acl::memcache_session::~memcache_session ( void  )

成员函数说明

◆ get_attrs()

bool acl::memcache_session::get_attrs ( std::map< string, session_string > &  attrs)
virtual

实现了 acl::session.

◆ remove()

bool acl::memcache_session::remove ( )
virtual

实现了 acl::session.

◆ set_attrs()

bool acl::memcache_session::set_attrs ( const std::map< string, session_string > &  attrs)
virtual

实现了 acl::session.

◆ set_timeout()

bool acl::memcache_session::set_timeout ( time_t  ttl)
protectedvirtual

实现了 acl::session.


该类的文档由以下文件生成: