acl
3.5.3.0
|
#include <session.hpp>
Public 成员函数 | |
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_string * | get_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 | remove (void)=0 |
virtual bool | get_attrs (std::map< string, session_string > &attrs)=0 |
virtual bool | get_attrs (const std::vector< string > &names, std::vector< session_string > &values) |
virtual bool | set_attrs (const std::map< string, session_string > &attrs)=0 |
Public 成员函数 继承自 acl::dbuf_obj | |
dbuf_obj (dbuf_guard *guard=NULL) | |
virtual | ~dbuf_obj () |
int | pos () const |
dbuf_guard * | get_guard () const |
Protected 成员函数 | |
virtual bool | set_timeout (time_t ttl)=0 |
静态 Protected 成员函数 | |
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 属性 | |
session_string | sid_ |
time_t | ttl_ |
bool | sid_saved_ |
bool | dirty_ |
std::map< string, session_string > | attrs_ |
std::map< string, session_string > | attrs_cache_ |
session 类,该类使用 memcached 存储 session 数据
在文件 session.hpp 第 38 行定义.
acl::session::session | ( | time_t | ttl = 0 , |
const char * | sid = NULL |
||
) |
当构造函数的参数 sid 非空时,则该 session 对象使用该 sid;否则内部会自动生成一个 sid,用户应该通过 get_sid() 获得这个自动生成的 sid 以便于每次查询该 sid 对应的数据
|
virtual |
|
staticprotected |
|
virtual |
被 acl::redis_session 重载.
|
virtual |
从 session 中删除指定属性值,当所有的变量都删除 时会将整个对象从 memcached 中删除
name | {const char*} session 属性名,非空 |
|
staticprotected |
|
virtual |
当调用 session 类的 set/set_ttl 时,如果最后一个参数 delay 为 true, 则必须通过调用本函数将数据真正进行更新
const char* acl::session::get | ( | const char * | name | ) |
从 session 中取得字符串类型属性值
name | {const char*} session 属性名,非空 |
|
pure virtual |
从后端缓存中获得对应 sid 的属性对象集合
attrs | {std::map<string, session_string>&} |
在 acl::memcache_session , 以及 acl::redis_session 内被实现.
|
virtual |
从后端缓存中获得对应 sid 的指定属性集合
names | {const std::vector<string>&} 属性名集合 |
values | {std::vector<session_string>&} 存储对应的属性值结果集 |
被 acl::redis_session 重载.
|
virtual |
从 session 中取得二进制数据类型的属性值
name | {const char*} session 属性名,非空 |
被 acl::redis_session 重载.
|
inlinevirtual |
|
inline |
获得本 session 对象中记录的 session 生存周期;该值有可能 与真正存储在缓存服务器的时间不一致,因为有可能其它的实例 重新设置了 session 在缓存服务器上的生存周期
在文件 session.hpp 第 160 行定义.
|
pure virtual |
使 session 从服务端的缓存中删除即使 session 失效
在 acl::memcache_session , 以及 acl::redis_session 内被实现.
void acl::session::reset | ( | void | ) |
重置内部状态,清理掉一些临时数据
|
staticprotected |
|
virtual |
向 session 中添加新的字符串属性,同时设置该 session 的过期时间间隔(秒)
name | {const char*} session 名,非空 |
value | {const char*} session 值,非空 |
被 acl::redis_session 重载.
|
virtual |
向 session 中添加新的属性对象并设置该 session 的过期时间间隔(秒),
name | {const char*} session 属性名,非空 |
value | {const char*} session 属性值,非空 |
len | {size_t} value 值长度 |
被 acl::redis_session 重载.
|
pure virtual |
向后端缓存写入对应 sid 的属性对象集合
attrs | {std::map<string, session_string>&} |
在 acl::memcache_session , 以及 acl::redis_session 内被实现.
|
virtual |
延迟向 session 中添加新的属性对象并设置该 session 的过期时间间隔(秒), 当用户调用了 session::flush 后再进行数据更新, 这样可以提高传输效率
name | {const char*} session 属性名,非空 |
value | {const char*} session 属性值,非空 |
len | {size_t} value 值长度 |
void acl::session::set_sid | ( | const char * | sid | ) |
设置本 session 对象的唯一 ID 标识
sid | {const char*} 非空 注:调用本函数后,会自动清除之前的中间缓存数据 |
|
protectedpure virtual |
在 acl::memcache_session , 以及 acl::redis_session 内被实现.
bool acl::session::set_ttl | ( | time_t | ttl, |
bool | delay | ||
) |
重新设置 session 在缓存服务器上的缓存时间
ttl | {time_t} 生存周期(秒) |
delay | {bool} 当为 true 时,则延迟发送更新指令到后端的 缓存服务器,当用户调用了 session::flush 后再进行数据更新,这 样可以提高传输效率;当为 false 时,则立刻更新数据 |
|
protected |
在文件 session.hpp 第 219 行定义.
|
protected |
在文件 session.hpp 第 220 行定义.
|
protected |
在文件 session.hpp 第 218 行定义.
|
protected |
在文件 session.hpp 第 211 行定义.
|
protected |
在文件 session.hpp 第 217 行定义.
|
protected |
在文件 session.hpp 第 212 行定义.