Redis学习记录(编辑中)

参考:黑马视频

文章目录

  • Redis的应用
  • redis启动
  • 基本操作
  • 数据类型
    • string
      • 基本操作
      • 扩展操作
    • hash
      • 介绍
      • 基本操作
      • 注意事项
    • list
      • 介绍
      • 基本操作
    • set
      • 介绍
      • 基本操作
    • sorted_set
      • 基本操作
  • Jedis
    • maven 依赖
    • helloword

Redis的应用

热点数据查询:热点商品、热点新闻、咨询
任务队列:秒杀、抢购
即时信息:排行榜、访问统计
时效性信息:验证码、投票
分布式数据共享
分布式锁

redis启动

redis服务启动:redis-server.exe
默认端口:6379(pid随机生成)
客户端启动:redis-cli.exe

基本操作

set:set key value
get:get key
获取帮助:help 命令

数据类型

Redis中的key都是string,数据类型指的是value

string

基本操作

  • set key value
  • get key
  • 删除数据:del key
  • set多个数据:mset key1 value1 key2 value2
  • get多个数据:mget key1 key2
  • 获取字符长度:strlen key
  • 追加value:append key value
  • 设置时效性:
    setex key 秒 value
    psetex 毫秒 value

扩展操作

前提 value是string类型的数值,且未超过范围

  • 设置数值增加
    incr key
    incrby key 数值
    incrbyfloat key 小数

  • 设置数值减少
    decr key
    decrby key 数值

应用:数据库分表主键设置

hash

介绍

一个存储空间存多个键值对数据。
Redis学习记录(编辑中)_第1张图片
结构优化:
如果field数量少,存储结构类似数组。
如果field数量多,存储结构类似Hashmap。

基本操作

  • 添加:hset key field value
  • 获取:
    hget key field
    hgetall key
  • 删除:
    hdel key field1 [field2]
  • 添加/修改多个
    hmset key field1 value1 field2 value2
  • 获取多个
    hmget key field1 field2 ……
  • 获取哈希表中有多少field
    hlen key
  • 获取哈希表中是否存在field
    hexists key field
  • 添加,如果field有值,不变
    hsetnx key field value

注意事项

hash下的value只能是字符串,不可以嵌套。
hash存储的键值对有上限。
不可以滥用,会增大存储空间和查询效率

list

介绍

存储多个数据,会对数据进入存储空间的顺序进行分区。
底层为双向链表

基本操作

  • 添加、修改:
    lpush key value1 [value2] ……
    rpush key value1 [value2] ……

  • 获取:
    lrange key start stop
    lindex key index
    llen key

  • 获取并移除:
    lpop key
    rpop key

  • 移除指定数据
    lrem key 数量 value

  • 通过阻塞获取数据(在一定时间内,只要list里有数据,就获取,没有,就一直等待)
    blpop key1 [key2] time
    brpop key1 [key2] time

set

介绍

存储大量数据,优化查询效率
与hash存储结构类型,但是仅存键,值为nil,且键不可能有重复的,多次插入同一个,只有第一次有效
Redis学习记录(编辑中)_第2张图片

基本操作

  • 添加
    sadd key member1 [member2]

  • 获取
    smembers key

  • 删除
    srem key member1 [member2]

  • 获取集合数据总量
    scard key

  • 判断是否包含
    sismember key member

  • 随机获取
    srandmember key 数量

  • 随机获取并删除
    spop key

sorted_set

数据有序
Redis学习记录(编辑中)_第3张图片

基本操作

  • 添加:
    zadd key score1 member1 [score2 member2]

  • 获取:
    zrange key start stop [withscores]
    zrevrange key start stop [withscores] (倒叙)

  • 删除:
    zrem key member [member]

  • 按条件获取
    zrangebyscore key min max [withscores] [limit]

Jedis 学习记录

Jedis

maven 依赖

        
            redis.clients
            jedis
            2.9.0
        

helloword

@Test
    public void helloWord(){
        //连接
        Jedis jedis = new Jedis("127.0.0.1",6379);
        //操作
        jedis.set("id","1001");
        System.out.println(jedis.get("id"));
        //关闭
        jedis.close();
    }

你可能感兴趣的:(数据库,JAVA,大数据)