• redis学习


    1.开源的.
    2.高性能.写:每秒11万次.存:8万.内存数据库.支持数据持久化.
    3.基于key value 存储的.可以根据key获取value.
    4.支持主从备份
    5.value可以有多种,字符串,hash(man),列表(list),集合(set),有序集合(sorted set).

    使用场景:
    1.取最新的n个草走.
    2.排行榜,取top n个数据.//最佳人气
    3.精确的设置过期时间.//验证码
    4.计数器//登录用户个数
    5.实时系统,反垃圾系统
    6.pub,sub,构建实时消息系统
    7.构建消息队列
    8.做缓存

    安装:略

    配置
    查询配置
    语法:config set 属性值
    例如查询端口号
    127.0.0.1:6379> config get port
    1) "port"
    2) "6379"
    查询日志级别
    127.0.0.1:6379> config get loglevel
    1) "loglevel"
    2) "notice"
    获取所有配置
    127.0.0.1:6379> config get *
    获取后台启动
    127.0.0.1:6379> config get daemonize

    选择数据库(默认为0,总共有16个数据库)
    127.0.0.1:6379> select 1
    OK
    127.0.0.1:6379[1]> select 0
    OK

    持久化
    127.0.0.1:6379> config get save
    1) "save"
    2) "900 1 300 10 60 10000"
    解释
    900s内只要操作过一个更新就保存
    300s内操作10次,保存硬盘
    60s内操作10000次,保存硬盘.

    clear 清屏

    数据类型(重点)
    1.string
    2.hash
    3.list
    4.set
    5.zset

    详细:
    string:
    最基本的类型,一个key,对应一个value,是二进制安全的.
    比如.图片或者队形(要序列化)
    key:最大512M,
    127.0.0.1:6379> set aaa aaa
    OK
    127.0.0.1:6379> get aaa
    "aaa"

    hash:
    他还是一个键值对集合,适合对象.

    //hset,一次设置一个值
    //hget.一次获取一个值
    //hmset 一次设置多个值
    //hgetall 一次获取所有值
    127.0.0.1:6379> hmset userinfo name 'admin' age 12 sex 1 address '湖北'
    OK
    127.0.0.1:6379> hgetall userinfo
    1) "username"
    2) "admin"
    3) "name"
    4) "admin"
    5) "age"
    6) "12"
    7) "sex"
    8) "1"
    9) "address"
    10) "xe6xb9x96xe5x8cx97"

    127.0.0.1:6379> hset user name "admin"
    (integer) 1
    127.0.0.1:6379> hget user name
    "admin"


    list
    简单的字符串列表,按照插入顺序排序
    添加的时候可以指定位置
    从左边添加
    lpush mylist a
    127.0.0.1:6379> lpush mylist a
    (integer) 1
    127.0.0.1:6379> lpush mylist b
    (integer) 2
    查询
    lrange 0 2
    127.0.0.1:6379> lrange mylist 0 2
    1) "c"
    2) "b"
    3) "a"

    从右边添加
    127.0.0.1:6379> rpush mylist2 a b c
    (integer) 3
    127.0.0.1:6379> lrange mylist2 0 -1
    1) "a"
    2) "b"
    3) "c"

    set集合(无重复数据,无顺序)
    127.0.0.1:6379> sadd myset a b c d e f a
    (integer) 6
    127.0.0.1:6379> smembers myset
    1) "d"
    2) "c"
    3) "f"
    4) "e"
    5) "b"
    6) "a"
    可以看出无重复和顺序
    使用set可以去重复

    zset(sorted set)
    有序的集合
    会关联一个double的分数,用来排序,分数可以相同,成员必须唯一
    127.0.0.1:6379> zadd yyy 62 stu1 77 stu2
    (integer) 2


    127.0.0.1:6379> zrangebyscore yyy 0 100
    1) "stu1"
    2) "stu4"
    3) "stu2"
    4) "stu3"

    127.0.0.1:6379> zrange yyy 0 -1 withscores
    1) "stu1"
    2) "62"
    3) "stu4"
    4) "65"
    5) "stu2"
    6) "77"
    7) "stu3"
    8) "80"

  • 相关阅读:
    addddd
    editor
    ui
    java.lang.NoClassDefFoundError: org/apache/poi/poifs/filesystem/FileMagic
    tomcat配置本地域名
    Spring Boot+MyBatis项目搭建
    约瑟夫环问题(100围坐一圈报数,报3出圈)
    java二分查找法
    bootstrap-table数据导出及Checkbox相关设置
    java按给定字节数截取含有中英文的字符串
  • 原文地址:https://www.cnblogs.com/songfahzun/p/8965153.html
Copyright © 2020-2023  润新知