郑州做网站推广资讯,个人可以建设头条网站吗,织梦网站内部优化,常德市 网站建设Mysql
in、on、exist
- 使用 ON 的例子#xff08;表连接#xff09;#xff1a; 假设有两个表 学生 和 课程#xff0c;它们分别包含学生信息和课程信息。我们可以使用 INNER JOIN 来连接这两个表#xff0c;通过学生ID关联它们。
SELECT 学生.姓名, 课程.课程名
FROM…Mysql
in、on、exist
- 使用 ON 的例子表连接 假设有两个表 学生 和 课程它们分别包含学生信息和课程信息。我们可以使用 INNER JOIN 来连接这两个表通过学生ID关联它们。
SELECT 学生.姓名, 课程.课程名
FROM 学生
INNER JOIN 选课 ON 学生.学生ID 选课.学生ID
INNER JOIN 课程 ON 选课.课程ID 课程.课程ID;在这个例子中ON 子句用于指定两个表之间的连接条件。 - 使用 IN 的例子 假设有一个表 成绩我们想要查询所有得到 A 等级的学生。
SELECT 姓名
FROM 学生
WHERE 学生ID IN (SELECT 学生ID FROM 成绩 WHERE 成绩 A);在这个例子中IN 子句用于过滤符合条件的学生ID。
使用 EXISTS 的例子: 检测行的存在 假设我们想要查询至少选修了一门课程的学生。
SELECT 姓名
FROM 学生
WHERE EXISTS (SELECT 1 FROM 选课 WHERE 学生.学生ID 选课.学生ID);在这个例子中EXISTS 子句用于检查是否存在符合条件的子查询结果如果存在就返回相应的学生记录。
Redis
基本操作
登录Redis
redis-cli -h redis-cnlfcw3rnt989pn1a.redis.ivolces.com -p 6379检查连通性
ping切换到指定数据库
select index获取服务器信息
infokeys指令
# 查找所有以 user 开头的键
KEYS user*# 查找所有以 user 结尾的键
KEYS *user# 查找所有包含 account 的键
KEYS *account*# 查找所有以 user 开头且后面只有一个字符的键
KEYS user?# 查找所有以 user 开头接着是一个数字的键
KEYS user[0-9]KEYS 命令是阻塞的执行时可能会导致性能问题尤其是在大规模键空间的情况下。在生产环境中可以考虑使用更高效的命令如 SCAN。 在 Redis 4.0 之后SCAN 命令被引入它提供了一种更安全和高效的方式来遍历键空间。使用 SCAN 可以避免 KEYS命令可能导致的阻塞和性能问题。 # 示例使用 SCAN 替代 KEYS
SCAN 0 MATCH user*问题假如 Redis 里面有 1 亿个 key其中有 10w 个 key 是以某个固定的已知的前缀开头的如果将 它们全部找出来 如果这个 redis 正在给线上的业务提供服务那使用 keys 指令会有什么问题 答①使用 keys 指令可以扫出指定模式的 key 列表。 ②redis 的单线程的。keys 指令会 导致线程阻塞一段时间线上服务会停顿直到指令执行完毕服务才能恢 复。这个时候可以使用 scan 指令scan 指令可以无阻塞的提取出指定模式的key 列表但是会有一定的重复概率在客户端做一次去重就可以了但是整体所花费的时间会比直接用 keys 指令长。
键操作
设置指定key的值
set key value获取指定 key 的值
get key检查 key 是否存在
exists key获取 key 的剩余过期时间
ttl key字符串操作
在指定 key 的值末尾追加字符串
append key value获取指定 key 的字符串长度
strlen key1、展示如何在一个事务中执行两个 SET 指令
MULTI # 开始事务
SET mykey value1 # 执行第一个 SET 操作
SET mykey2 value2 # 执行第二个 SET 操作
EXEC # 提交事务