コード例 #1
0
ファイル: sess_memcache.go プロジェクト: JiYou/beego
// save session values to memcache
func (rs *MemcacheSessionStore) SessionRelease(w http.ResponseWriter) {
	b, err := session.EncodeGob(rs.values)
	if err != nil {
		return
	}
	item := memcache.Item{Key: rs.sid, Value: b, Expiration: int32(rs.maxlifetime)}
	client.Set(&item)
}
コード例 #2
0
ファイル: ledis_session.go プロジェクト: CodingDance/harbor
// SessionRelease save session values to ledis
func (ls *SessionStore) SessionRelease(w http.ResponseWriter) {
	b, err := session.EncodeGob(ls.values)
	if err != nil {
		return
	}
	c.Set([]byte(ls.sid), b)
	c.Expire([]byte(ls.sid), ls.maxlifetime)
}
コード例 #3
0
ファイル: sess_ssdb.go プロジェクト: GrimTheReaper/beego
func (s *SessionStore) SessionRelease(w http.ResponseWriter) {
	b, err := session.EncodeGob(s.values)
	if err != nil {
		return
	}
	s.client.Do("setx", s.sid, string(b), s.maxLifetime)

}
コード例 #4
0
ファイル: sess_mysql.go プロジェクト: chaws/beego
// SessionRelease save mysql session values to database.
// must call this method to save values to database.
func (st *SessionStore) SessionRelease(w http.ResponseWriter) {
	defer st.c.Close()
	b, err := session.EncodeGob(st.values)
	if err != nil {
		return
	}
	st.c.Exec("UPDATE "+TableName+" set `session_data`=?, `session_expiry`=? where session_key=?",
		b, time.Now().Unix(), st.sid)
}
コード例 #5
0
ファイル: sess_redis.go プロジェクト: CodingDance/harbor
// SessionRelease save session values to redis
func (rs *SessionStore) SessionRelease(w http.ResponseWriter) {
	b, err := session.EncodeGob(rs.values)
	if err != nil {
		return
	}
	c := rs.p.Get()
	defer c.Close()
	c.Do("SETEX", rs.sid, rs.maxlifetime, string(b))
}
コード例 #6
0
ファイル: sess_postgresql.go プロジェクト: JiYou/beego
// save postgresql session values to database.
// must call this method to save values to database.
func (st *PostgresqlSessionStore) SessionRelease(w http.ResponseWriter) {
	defer st.c.Close()
	b, err := session.EncodeGob(st.values)
	if err != nil {
		return
	}
	st.c.Exec("UPDATE session set session_data=$1, session_expiry=$2 where session_key=$3",
		b, time.Now().Format(time.RFC3339), st.sid)

}
コード例 #7
0
ファイル: sess_couchbase.go プロジェクト: ngaut/beego
// SessionRelease Write couchbase session with Gob string
func (cs *SessionStore) SessionRelease(w http.ResponseWriter) {
	defer cs.b.Close()

	bo, err := session.EncodeGob(cs.values)
	if err != nil {
		return
	}

	cs.b.Set(cs.sid, int(cs.maxlifetime), bo)
}
コード例 #8
0
ファイル: sess_memcache.go プロジェクト: 4eek/beego
// save session values to redis
func (rs *MemcacheSessionStore) SessionRelease(w http.ResponseWriter) {
	defer rs.c.Close()
	// if rs.values is empty, return directly
	if len(rs.values) < 1 {
		rs.c.Delete(rs.sid)
		return
	}

	b, err := session.EncodeGob(rs.values)
	if err != nil {
		return
	}
	rs.c.Set(rs.sid, 0, uint64(rs.maxlifetime), b)
}
コード例 #9
0
ファイル: sess_redis.go プロジェクト: kingljl/beego
// SessionRelease save session values to redis
func (rs *SessionStore) SessionRelease(w http.ResponseWriter) {

	b, err := session.EncodeGob(rs.values)
	if err != nil {
		return
	}

	c := rs.p.Get()
	defer c.Close()
	// Update session value if exists or error.
	if existed, err := redis.Bool(c.Do("EXISTS", rs.sid)); existed || err != nil {
		c.Do("SETEX", rs.sid, rs.maxlifetime, string(b))
	}
}
コード例 #10
0
ファイル: sess_couchbase.go プロジェクト: 4eek/beego
func (cs *CouchbaseSessionStore) SessionRelease(w http.ResponseWriter) {
	defer cs.b.Close()

	// if rs.values is empty, return directly
	if len(cs.values) < 1 {
		cs.b.Delete(cs.sid)
		return
	}

	bo, err := session.EncodeGob(cs.values)
	if err != nil {
		return
	}

	cs.b.Set(cs.sid, int(cs.maxlifetime), bo)
}
コード例 #11
0
ファイル: sess_redis.go プロジェクト: 4eek/beego
// save session values to redis
func (rs *RedisSessionStore) SessionRelease(w http.ResponseWriter) {
	c := rs.p.Get()
	defer c.Close()

	// if rs.values is empty, return directly
	if len(rs.values) < 1 {
		c.Do("DEL", rs.sid)
		return
	}

	b, err := session.EncodeGob(rs.values)
	if err != nil {
		return
	}

	c.Do("SET", rs.sid, string(b), "EX", rs.maxlifetime)
}