合肥模板建站多少钱,微网站开发 在线商城,html个人网页完整代码模板,机房网络组建方案【重点】redis为什么这么快#xff1f;#xff08;应届#xff09;
①redis是纯内存结构#xff0c;避免磁盘I/O的耗时
②redis核心模块是一个单进程#xff0c;减少线程切换和回收线程资源时间
③redis采用的是I/O的多路复用机制#xff08;每一个执行线路可以同时完…【重点】redis为什么这么快应届
①redis是纯内存结构避免磁盘I/O的耗时
②redis核心模块是一个单进程减少线程切换和回收线程资源时间
③redis采用的是I/O的多路复用机制每一个执行线路可以同时完成读、写提升高并发效率注redis的读写仍然是单进程处理
1、redis的服务控制命令
/etc/init.d/redis_6379 restart stop start status 2、redis的命令工具
redis-server直接启动redis只能启动
redis-benchmark检测redis在本机的运行效果
redis-cli命令行工具
redis-check-aof检测AOF文件是否正常
redis-check-rdb检测RDB文件是否正常
3、redis-benchmark语法
-h指定服务器的主机名IP地址
-p指定服务器的端口号6379
-c指定并发连接数
-n指定请求数
-a指定登录密码 4、登录redis
①方法1redis-cli -h 20.0.0.14 -p 6379远程登录本机或别的服务器
②方法2redis-cli直接使用仅限于本地远程登录仍需要指定目标服务器的IP地址 redis整个库 查看当前库中的键的数量 DBSIZE 切换库 SELECT 2 移动键值到指定库15 move guoqi1 15 设置密码 config set requirepass 123456 在外声明密码 redis-cli -h 20.0.0.14 -p 6379 -a 123456 在内声明密码 auth 123456
①查看当前库中的键的数量DBSIZE redis默认有16个库第一个是0最后一个是15每个数据库之间互相独立、互不干扰
②切换库SELECT 2 ③移动键值到指定库15
move guoqi1 15 ④设置密码config set requirepass 123456 在内声明密码auth 123456 在外声明密码redis-cli -h 20.0.0.14 -p 6379 -a 123456 ⑤删除当前库FLUSHDB删库跑路坐牢 ⑥删除所有库FLUSHALL删库跑路坐牢 5、redis五大数据类型【重点】
1string字符串类型——string
默认类型最大存储512MB的数据可以存储任何数据比如数字、文字、图片等 string字符串类型 查看当前库的键值对 KEYS * KEYS test KEYS t* KEYS t? KEYS t?? 创建string类型的键值对 set test guoqi 查看键值对 get test 判断键是否存在返回1代表存在返回0代表不存在 EXISTS test 删除键 del test1 test2 查看键的类型 type test 追加键值 append test1 hello 查看键的长度 STRLEN test1 自增键值 自减键值 INCR test1 decr test1 给键值增加/减少指定数值 DECRBY test1 3 INCRBY test1 50 给键值设置过期时间 SETEX test2 15 lo 对已有键值对修改生命周期 EXPIRE test 30 批量设置键值对 MSET key1 hello key2 world 批量打印多个键值对 MGET key1 key2 对键重命名 RENAME test guoqi
①查看当前库的键值对KEYS test ②创建键值对set test guoqi
③查看键值对get test ④判断键值对test是否存在EXISTS test ⑤删除键值对del test1 test2 ⑥查看键值对的类型type test ⑦追加键值append test1 hello
键已存在会追加到原有键值后返回拼接后键值的长度
键不存在会创建键直接将键值写入返回当前键值长度 ⑧查看键值长度STRLEN test1 ⑨自增键值INCR test1
自减键值 decr test1
注只能对数字进行操作 ⑩给键值增加/减少指定数值
DECRBY test1 3
INCRBY test1 50 ⑪给键值设置过期时间 SETEX test2 15 lo -2表示键值对已过期
-1表示键值对永不过期
⑫对已有键值对修改生命周期EXPIRE test 30 ⑬批量设置键值对
MSET key1 hello key2 world
⑭打印多个键值对
duMGET key1 key2 ⑮对键重命名RENAME test guoqi 2list列表类型——string
列表中的元素是string类型 list列表类型 创建list类型的键值对 lpush guoqi a b c d e f g 查看键值对 lrange guoqi 0 -1 查看某个键值对【下标索引】 lindex guoqi1 0 查看1-2范围内的键值对 【下标索引从0开始】 lrange guoqi1 1 2 插入数值 lpush guoqi1 10插入左侧 rpush guoqi1 20插入右侧 删除数值 LPOP guoqi1 RPOP guoqi1 修改数值 LSET guoqi1 3 shuai 根据下表索引3代表下表索引 指定数值前插入 LINSERT guoqi1 before 3 zhende 3代表数值不是下表索引
①创建列表键值对
lpush guoqi a b c d e f g倒序
rpush guoqi a b c d e f g正序 ②查看某个键值对lindex guoqi1 0 ③查看1-2范围内的键值对lrange guoqi1 1 2 ④插入数值
lpush guoqi1 10在左侧插入
rpush guoqi1 20在右侧插入 ⑤删除数值
LPOP guoqi1
RPOP guoqi1 ⑥修改数值 LSET guoqi1 3 shuai根据下表索引3代表下表索引 ⑦指定数值前插入LINSERT guoqi1 before 3 zhende3代表数值不是下表索引 3hash类型
hash类型用于存储对象采用hash格式进行操作占用磁盘空间少一个hash类型可以存储4294967295个42亿个键值对 hash类型 创建hsah类型的键值对 HSET guoqi2 tall yestall代表字段类型 查看键值对 hget guoqi2 tall 添加新字段 hset guoqi2 tall yes 删除字段 hdel guoqi2 hansdon tall 创建多个字段和数值 hmset guoqi3 tall rich age 23 fcz yes 查询字段 hgetall guoqi3 直接查询字段及数值 hkeys guoqi3 直接查询数值 hvals guoqi3 删除键值对 del guoqi3
①创建hsah类型的键值对
HSET guoqi2 tall yes
②添加新字段hset guoqi2 tall yes ③查看多个字段的内容hmget info name address iphone ④删除字段 hdel info iphone ⑤创建多个字段和数值hmset guoqi3 tall rich age 23 fcz yes ⑥查询字段及数值、直接查询字段、直接查询数值
hgetall guoqi3
hkeys guoqi3
hvals guoqi3 ⑦删除键值对del guoqi3 4set无序集合类型——string
元素类型也是string元素是唯一的不允许重复多个集合类型可以进行并集、交集、差集进行运算
使用场景set中的元素类型是唯一的可以跟踪一些唯一性数据例如访问微博的用户名只要把对应名称写入redisset自动保存唯一性方便下次访问 set无序集合类型 创建set类型的键值对 SADD myset a c 查看成员 SMEMBERS myset 查看当前集合中的元素是否存在 SISMEMBER myset a 随机返回集合中的一个元素 SRANDMEMBER myset 随机移除 SPOP myset 指定移除 SREM myset h k
①创建set类型键值 SADD myset a c ②查看成员SMEMBERS myset ③查看当前集合中的元素是否存在SISMEMBER myset a ④随机返回集合中的一个元素SRANDMEMBER myset ⑤随机移除SPOP myset ⑥指定移除 SREM myset h k 5zset有序集合类型——string
元素类型也是string元素唯一不能重复。每个元素都会关联一个double类型小数点的分数score表示权重可以通过权重的大小进行排序元素的权重可以相同
使用场景在线积分的排行榜实时更新用户的分数
zrange命令获取积分top10的用户zrank命令通过username获取用户的排行信息 zset有序集合类型 创建zset类型的键值 ZADD myzset 1 one 查看元素和权重 ZRANGE myzset 0 -1 withscores 查看成员的权重 ZSCORE myzset two 查询成员数量 ZCARD myzset 统计权重在1~2范围内的成员数量 ZCOUNT myzset 1 2 删除成员 ZREM myzset three 获取位置索引 ZRANK myzset one
①创建zset类型的键值ZADD myzset 1 one ②查看元素和权重ZRANGE myzset 0 -1 withscores ③查看成员的权重ZSCORE myzset two ④获取位置索引 ZRANK myzset one ⑤查询成员数量ZCARD myzset ⑥统计权重在1~2范围内的成员数量ZCOUNT myzset 1 2 ⑦删除成员ZREM myzset three 6、普通类型set和hash类型hset该如何选择
一般情况下无特殊需求时普通创建方式即可但对一个键值进行多字段存储及节省内存可以使用hash方式