mysql 常用语法 cookie session token redis 用法
SHOW TABLES; USE blog; -- ctrl+shift+r 删除注释 -- ctrl+shift+c 注释 -- 添加 内容 insert into 表()values() -- insert into users(us,ps,realname)values('lisi','123456','lisi') -- 查询 select * from 表 -- select * from users;-- -- select*from users where us="lisi" and ps="223" -- like 查询包含 -- select*from users where ps like '%2%' -- 排序 ORDER BY id 默认正序 ORDER BY id desc; 倒叙 -- select*from users where ps like '%2%' order by id; -- SELECT*FROM users WHERE ps LIKE '%2%' ORDER BY id desc; -- 更新 -- update users set realname='lisi2' where us='lisi' -- 删除 -- delete from users where us='lisi' -- state 1 存在 state=0 则为删除 -- update users set state='0' where us='lisi' ; -- 软删除 -- 查询<> '0' 不等于0 SELECT * FROM users WHERE state <>'0'
Sqylog 中使用
cookie
- 存储在浏览器的一段字符串(最大5kb)
- 跨越不共享
- 格式 k1=v1;k2=v2;k3=v3;因此可以存储结构化数据;
- 每次发送http请求,会讲请求域的cookie一起发送给server
- server可以修改cookie并返回给浏览器
- 浏览器中也可以通过JS修改cookie(有限制)
server端nodejs操作cookie
- 查看cookie
- 修改cookie
- 实现登录验证
解析cookie
//解析cookie req.cookie = {}; const cookieStr = req.headers.cookie || ""; //k1=v1;k2=v2 cookieStr.split(";").forEach((item) => { if(!item){ return } var arr = item.split("="); var key = arr[0]; var val = arr[1]; req.cookie[key] = val; }); console.log('cookie',req.cookie)
修改cookie
//操作cookie path 路径设置为根路径 所有的网站都会生效 httpOnly 前端不可以修改 res.setHeader( "Set-Cookie", `username=${data.us};path='/';httpOnly;expires=${getCookieExpires()}` ); //封装cookie过期时间 const getCookieExpires = () => { const time = new Date().getTime() + 24 * 60 * 60 * 1000; console.log("time", time); return time; };
cookie 的问题 会暴露信息
session 解决 cookie中存储userid session中存储username;
//存储Session let SESSION_DATA={}; //解析Session let needSetCookie = false; let userId = req.cookie.userid; if (userId) { if (!SESSION_DATA[userId]) { SESSION_DATA[userId]; } } else { needSetCookie = true; userId = `${new Date()}_${Math.random()}`; SESSION_DATA[userId] = {}; } 操作session req.session.us=data.us; req.session.realname=data.realname; 使用session if (req.session.us) { return Promise.resolve( new SuccessModule({ session: req.session.us, }) ); }