redis的基础总结以及高级应用

本文深入探讨了Redis的五种核心数据结构:String、Hash、List、Set和Sorted Set,以及它们在实际场景中的应用,如最新数据获取、排行榜、计数器、去重操作、实时系统等。同时,介绍了Redis的高级特性,包括主从复制、事务处理、持久化机制和发布订阅消息。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

redis总结

Redis是一个key-value存储系统。它支持存储value类型很多,包括String(字符串)、list(链表)、set(集合)、zset(有序集合)。这些数据类型都支持push/pop、add/remove以及取交集和并集及更丰富的操作,redis支持各种不同方式的排序。为了保证效率,数据都是缓存在内存中,它也可以周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件。

Redis试用场景

  1. 取最新N个数据,排行榜应用,去topn操作
  2. 需要精确设定过期时间的应用
  3. 计数器应用
  4. Uniq操作,获取某段时间所有数据排重值
  5. 实时系统,反垃圾系统
  6. Pub/sub构建实时消息系统
  7. 构建队列系统(list堆或栈)
  8. 缓存

redis的五种数据类型的使用

  1. string:key-value(做缓存)
    Redis中所有的数据都是字符串,命令不区分大小写,key是区分大小写的
    get
    set
    incr(自增)
    decr(减一),
    将字符串先转化为整形。Redis是单线程的。Redis中不适合保存内容大的数据。

  2. Hash:key-fields-values(做缓存)
    相当于一个key对应一个map,map中还有key、value,使用hash对key进行归类。
    Hset:向hash中存数据
    Hget向hash中存数据

  3. list:有顺序可重复
    Lput :向左边添加元素
    Lpop:从左边弹出元素
    Lrange list 0 -1 :查询所有的元素
    Rput:从右边添加元素
    Rpop:从右边弹出元素

  4. set:无顺序,不能重复
    192.168.25.128:6379> sadd set1 a b c d
    (integer) 4
    192.168.25.128:6379> smembers set1
    1) “a”
    2) “d”
    3) “c”
    4) “b”
    192.168.25.128:6379> srem set1 a
    (integer) 1
    192.168.25.128:6379> smembers set1
    1) “d”
    2) “c”
    3) “b”
    还有集合的运算,交集并集

  5. SortedSet(zset):有顺序,不能重复(可以做排行榜,每个元素有一个得分)
    192.168.25.128:6379> zadd zset1 2 a 5 b 1 c 6 d
    (integer) 4
    192.168.25.128:6379> zrange zset1 0 -1
    1) “c”
    2) “a”
    3) “b”
    4) “d”
    192.168.25.128:6379> zrem zset1 a
    (integer) 1
    192.168.25.128:6379> zrange zset1 0 -1
    1) “c”
    2) “b”
    3) “d”
    192.168.25.128:6379> zrevrange zset1 0 -1
    1) “d”
    2) “b”
    3) " c "
    192.168.25.128:6379> zrevrange zset1 0 -1 withscores
    可以带分数的查询

Redis 键值相关命令

1. Keys * 查询所有的键
2. Keys my* 模糊匹配
3. Exists 判断某个键是否存在,返回0代表不存在,返回1 代表存在
4. Del 删除一个key
5. Expire设置一个key的过期时间
6. Ttl查询某个key还有多少时间过期
7. Select选择数据库,如selet 0 redis数据库编号从0到15
8. Move将当前数据库中的key转移到其他数据库中
9. Persist 移除给定key的过期时间
10. Randomkey 随机返回key空间的一个key
11. Rename 重命名key
12. Type 返回键的类型
13. Ping 是否连接到服务器
14. Echo 在命令行打印一些内容
15. Quit/exit退出连接
16. Dbsize 当前数据库下键的个数
17. Flushdb删除当前选择数据库中的所有key
18. Flushall 删除所有数据库中的所有键

Redis高级实用特性

  1. 安全性
    在配置文件中设置密码即可redis.conf,然后重启服务
    agffdfsddfdsfsdg dfgdf在这里插入图片描述
  2. 主从复制
    在这里插入图片描述在这里插入图片描述
  3. 事务处理 在这里插入图片描述在这里插入图片描述
    在这里插入图片描述
    Redis对事务的支持不是很好,若队列中有多条命令,且存在一个错误的命令,事务不会回滚。
    在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述
  4. 持久化机制
    Redis可以持久化到数据库
    Rdb默认的方式,快照
    在这里插入图片描述Append-onlyfile (aof)的方式
    在这里插入图片描述在这里插入图片描述
    Aof是每秒写入增删改命令,所以比较好性能,默认是关闭的。
  5. 发布订阅消息
    在这里插入图片描述在这里插入图片描述
    在这里插入图片描述在这里插入图片描述
  6. 虚拟内存的使用
    在这里插入图片描述在这里插入图片描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值