0%

redis

redis

概念

redis是一款高性能的NOSQL系列的非关系型数据库

  1. 数据之间没有关联关系

  2. 数据存储在内存中

  3. 一般会将数据存储在关系型数据库中,在nosql数据库中备份存储关系型数据库的数据

redis的应用场景

  • 缓存(数据查询、短连接、新闻内容、商品内容等)
  • 聊天室的在线好友列表
  • 任务队列(秒杀、抢购、12306等)
  • 应用排行榜
  • 网站访问统计
  • 数据过期处理(可以精确到毫秒)
  • 分布式集群架构中的session分离

命令操作

  1. redis的数据结构
    • redis存储的是:key-value格式的数据,其中key都是字符串,value有5种不同的数据结构
      • value的数据结构:
        1. 字符串类型:string
        2. 哈希类型:hash:类似map格式
        3. 列表类型:list:linkedlist格式
        4. 集合类型:set:
        5. 有序集合类型:sortedset
  2. 字符串类型 string
    1. 存储:set key value
    2. 获取:get key
    3. 删除:del key
  3. 哈希类型:hash
    1. 存储:hset key field value
    2. 获取:
      • hget key field:获取指定的field对应的值
      • hgetall key:获取所有的field和value
    3. 删除:hdel key field
  4. 列表类型:list
    1. 存储:
      • lpush key value:将元素加入列表左边
      • rpush key value:将元素加入列表右边
    2. 获取:
      • lrange key start end:范围获取
    3. 删除:
      • lpop key:删除列表最左边的元素,并将元素返回
      • rpop key:删除列表最右边的元素,并将元素返回
  5. 集合类型:set:不允许重复元素
    1. 存储:sadd key value
    2. 获取:smembers key:获取set集合中所有元素
    3. 删除:srem key value:删除set集合中的某个元素
  6. 有序集合类型:sortedset:不允许重复元素,且元素有顺序
    1. 存储:zadd key score value
    2. 获取:zrange key start end
    3. 删除:zrem key value
  7. 通用命令
    • keys * :查询所有的键
    • type key:获取键对应的value的类型
    • del key:删除指定的key value

持久化

  1. redis是一个内存数据库,当redis服务器重启,获取电脑重启,数据会丢失,我们可以将redis内存中的数据持久化保存到硬盘的文件中
  2. redis持久化机制:
    1. RDB:默认方式,不需要进行配置,默认就使用这种机制
      • 在一定的间隔时间中,检测key的变化情况,然后持久化数据
    2. AOF:日志记录的方式,可以记录每一条命令的操作。可以每一次命令操作后,持久化数据。

Jedis