Redis 基础知识

你离开我真会死。 提交于 2020-01-18 17:19:26

1. 简介:

  Redis是Remote Dictionary Server的简写,它是一种key-value形式的NoSql内存数据库,单线程架构,数据存放内存,故读写速度性能非常好;当然也支持内存中数据以快照和日志形式持久化到硬盘,从而在发生异常情况下数据也不会丢失。

  特点:A. 性能高,速度快:读写性能能达到10w/s;

     B. 丰富的数据结构:如字符串、哈希、列表、集合、有序集合等;

     C. 丰富的特性:键过期实现定时缓存、发布订阅实现消息队列、事务功能、管道实现批量处理命令等;

     D. 丰富的客户端:主流的开发语言都接入了redis

  应有场景:A. 缓存:能够提升网站访问速度,大大降低数据库的压力;

       B. 排行榜:有序集合机构实现复杂排行;

       C. 计数器:用incr命令实现,适用于商品浏览量及视频播放量等;

       D. 分布式会话:集群模式下,用redis搭建session服务;

       E. 分布式锁:用setnx实现,适合并发访问高(全局ID、秒杀)的情况,并发不高可用数据库悲观锁和乐观锁控制;

       F. 社交网络:用哈希或集合等数据结构实现,适合点赞等;

         G. 最新列表:lpush + ltrim来实现

         H. 消息系统:适合简单的消息队列,注意:不推荐使用,一致性等问题多

2. 常用操作命令

  (1) 管理命令

    A. 启动:redis-server [--port 6379] | redis-server [../redis.conf]

    B. 连接:redis-cli -h 127.0.0.1 -p 6379 [-c]

    C. 停止:redis-cli shutdown | kill redis-pid

  (2) key命令

    A. keys patten:*是通配符,代表任意字符,该命令在生产环境不建议使用;

    B. del key [key ...]:删除键,可以同时删除多个;

    C. type key:查询键类型;

    D. expire key seconds:设置过期时间,秒级别;

    E. ttl key:查询key的生命周期,秒级别,-1代表永不过期;

  (3)  string命令

    A. set key value:存放键值;

    B. get key:获取键值;

    C. mset key value [key1 value1 ..]:批量存放键值;

       D. mget key [key1 ...]:批量获取键值

  (4) set命令:集合是无需且不可重复的

  (5) sort set命令:有序集合是散列表和跳跃表实现的,读取中间的元素较快,比列表占内存

  (6) list命令:列表是有序且可重复的,使用双向链表实现,两头快,中间慢

  (7) hash命令:散列是字典结构形式

3. 

 

可参考:Redis中方官网

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!