Revision: 67309
Updated Code
at September 6, 2014 14:49 by prgrmmraben
Updated Code
/** @author prgrmmr.aben [at] gmail (dot) com
* http://fivesnippets.blogspot.com/2014/08/a-very-light-implementation-of-session.html
* please give back a small donation if you find
* this little educational snippet of code useful
**/
CREATE TABLE IF NOT EXISTS `session` (
`id` int(11) NOT NULL AUTO_INCREMENT,
/*`refUser` int(11) DEFAULT NULL COMMENT 'references user number',*/
`IP` int(39) DEFAULT NULL,
`creation` datetime NOT NULL TIMESTAMP DEFAULT CURRENT_TIMESTAMP COMMENT 'creation time',
`expiry` datetime DEFAULT NULL COMMENT 'expiry time',
`secretToken` varchar(10) NOT NULL,
`type` enum('guest','client') NOT NULL DEFAULT 'guest',
PRIMARY KEY (`id`),
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='don''t need to be a real session in memory' AUTO_INCREMENT=1 ;
CREATE TABLE cachedSession ENGINE=MEMORY SELECT * FROM session;
CREATE DEFINER=`root`@`localhost` PROCEDURE `cacheSessions`()
NO SQL
BEGIN
delete from cachedsession where 1;
insert into cachedsession select * from session where `expiry`<NOW();
select row_count();
end$$
CREATE DEFINER=`root`@`localhost` PROCEDURE `cleanSession`()
NO SQL
COMMENT 'clean sessions expired @hours ago'
BEGIN
DELETE FROM `session` WHERE TIMESTAMPDIFF(MINUTE, expiry, NOW())>0;
select row_count();
end$$
Revision: 67308
Updated Code
at September 6, 2014 07:57 by prgrmmraben
Updated Code
/** @author prgrmmr.aben [at] gmail (dot) com
* http://fivesnippets.blogspot.com/2014/08/servlet-filter-for-ddos-spam-etc.html
* please give back a small donation if you find
* this little educational snippet of code useful
**/
CREATE TABLE IF NOT EXISTS `session` (
`id` int(11) NOT NULL AUTO_INCREMENT,
/*`refUser` int(11) DEFAULT NULL COMMENT 'references user number',*/
`IP` int(39) DEFAULT NULL,
`creation` datetime NOT NULL TIMESTAMP DEFAULT CURRENT_TIMESTAMP COMMENT 'creation time',
`expiry` datetime DEFAULT NULL COMMENT 'expiry time',
`secretToken` varchar(10) NOT NULL,
`type` enum('guest','client') NOT NULL DEFAULT 'guest',
PRIMARY KEY (`id`),
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='don''t need to be a real session in memory' AUTO_INCREMENT=1 ;
CREATE TABLE cachedSession ENGINE=MEMORY SELECT * FROM session;
CREATE DEFINER=`root`@`localhost` PROCEDURE `cacheSessions`()
NO SQL
BEGIN
delete from cachedsession where 1;
insert into cachedsession select * from session where `expiry`<NOW();
select row_count();
end$$
CREATE DEFINER=`root`@`localhost` PROCEDURE `cleanSession`()
NO SQL
COMMENT 'clean sessions expired @hours ago'
BEGIN
DELETE FROM `session` WHERE TIMESTAMPDIFF(MINUTE, expiry, NOW())>0;
select row_count();
end$$
Revision: 67307
Initial Code
Initial URL
Initial Description
Initial Title
Initial Tags
Initial Language
at September 6, 2014 07:35 by prgrmmraben
Initial Code
CREATE TABLE IF NOT EXISTS `session` (
`id` int(11) NOT NULL AUTO_INCREMENT,
/*`refUser` int(11) DEFAULT NULL COMMENT 'references user number',*/
`IP` int(39) DEFAULT NULL,
`creation` datetime NOT NULL TIMESTAMP DEFAULT CURRENT_TIMESTAMP COMMENT 'creation time',
`expiry` datetime DEFAULT NULL COMMENT 'expiry time',
`secretToken` varchar(10) NOT NULL,
`type` enum('guest','client') NOT NULL DEFAULT 'guest',
PRIMARY KEY (`id`),
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='don''t need to be a real session in memory' AUTO_INCREMENT=1 ;
CREATE TABLE cachedSession ENGINE=MEMORY SELECT * FROM session;
CREATE DEFINER=`root`@`localhost` PROCEDURE `cacheSessions`()
NO SQL
BEGIN
delete from cachedsession where 1;
insert into cachedsession select * from session where `expiry`<NOW();
select row_count();
end$$
CREATE DEFINER=`root`@`localhost` PROCEDURE `cleanSession`()
NO SQL
COMMENT 'clean sessions expired @hours ago'
BEGIN
DELETE FROM `session` WHERE TIMESTAMPDIFF(MINUTE, expiry, NOW())>0;
select row_count();
end$$
Initial URL
Initial Description
caching session variables in Mysql using memory engine for fast client response. note: please test before use, then use at your own risk.
Initial Title
A light implementation of Session table in Mysql 5.6 using memory engine
Initial Tags
mysql, sql, cache
Initial Language
SQL