zoukankan      html  css  js  c++  java
  • redis的笔记

    创建目录 mkdir -p /myredis
    备份redis.conf文件:
    cp redis.conf /myredis/redis.conf
    进入myredis目录,修改redis.conf文件
    vim redis.conf

    把daemonize no 改成 daemonize yes
    保存退出
    cd /usr/local/bin/
    redis-server /myredis/redis.conf
    redis-cli -p 6379

    关闭redis:
    SHUTDOWN

    查看redis有没有启动:
    ps -ef|grep redis

    redis默认有16个数据库,select 命令切换数据库 ,select 0|1|3|...|16
    flushdb:清空当前库
    flushall:清空所有库
    redis的五大数据类型:
    Redis键(key)
    Redis字符串(String)
    Redis列表(List)
    Redis集合(Set)
    Redis哈希(Hash)
    Redis有序集合Zset(sorted set)
    常用命令:
    key:
    keys *
    exists key的名字 判断某个key是否存在
    move key db 把key移动到其他db,当前库就没有了
    expire key 秒钟 给key设置过期时间
    ttl key 查看key还有多少秒过期,-1表示永不过期,-2表示已过期
    type key 查看keyd的
    String:
    set/get/del/append/strlen
    incr/decr/incrby/decrby 一定要是数字才能进行加减
    incr :自加1
    decr :自减1
    incrby n :递增 n
    decrby n :递减 n
    getrange/setrange
    setex(set with expire)键秒值/setnx(set if not exist)
    setex :设置过期时间
    setnx key : 当key不存在时间生效,避免数据被覆盖
    mset/mget/msetnx
    mset k1 v1 k2 v2 k3 v3
    mget k1 k2 k3
    msetnx k3 v3 k4 v4(如果k3,k4有一个已存在,则返回失败,不会设置成功 )
    getset(先get再set)

    List:
    lpush/rpush/lrange
    lpush list01 1 2 3 4 5
    lrange list01 0 -1 # 5 4 3 2 1
    rpush list02 1 2 3 4 5
    lrange list02 0 -1 # 1 2 3 4 5
    lpop/rpop: 取一个数据
    lindex : 按照索引下标获得元素(从上到下)
    llen:
    lrem key: 删N个value
    ltrim key:开始index结束index,截取指定范围的值后,重新赋值给key
    rpoplpush 源列表 目的列表 :
    lset key index value:
    linsert key before/after 值1 值2 :

    Set:
    sadd/smembers/sismember
    scard :获取集合里的元素个数
    srem key value :删除集合中的元素
    srandmember key 某个整数(随机出几个数)
    spop key 随机出栈
    smove key1 key2 在key1里的某个值 :将key1里的某个值赋给key2
    sdiff key1 key2 :差集 ,在key1里面,而不在key2里的数据
    sinter key1 key2 :交集
    sunion key1 key2 :并集

    哈希Hash: KV模式不变,但V是一个键值对
    hset/hget/hmset/hmget/hgetall/hdel
    hset user name z3
    hget user name
    hmset customer id 12 name xx age 25
    hmget customer id name age
    hgetall customer
    hdel user name :删除key为user下的name的值
    hlen
    hexists key 在key里面的某个值的key
    hkeys/hvals :获取key下的所有key/value
    hincrby/hincrbyfloat
    hincrby customer age 2 #给age的值加2
    hincrbyfloat customer age 0.5 #给age的值加0.5
    hsetnx: 当value中的key值不存在,才能添加成功
    有序集合Zset:
    在set基础上,加一个score值,set是k1 v1 v2 v3, 而zset是k1 score1 v1 score2 v2
    zadd/zrange
    zadd zset01 60 v1 70 v2 80 v3 90 v4 100 v5
    zrange zset01 0 -1
    zrange zset01 0 -1 withscores
    zrangebyscore key 开始scroe 结束scroe
    zrangebyscore zset01 60 90
    zrangebyscore zset01 60 (90 #(90表示不包含90
    zrangebyscore zset01 (60 (90 #不包含60和90
    zrangebyscore zset01 60 90 limit 2 2 #结果集中从下标为2开始截取2个
    zrem key 某score下对应的value值,作用是删除元素
    zrem zset01 v5 #删除v5
    zcard/zcount key score区间/zrank key values值,作用是获得下标值/zscore key对应值,获得分数
    zcard zset01 #zset01下有多少个value
    zcount zset01 60 80 #scroe60到80的值有多少个
    zrank zset01 v4 #获取v4的下标
    zscore zset01 v4 #获取v4对应的scroe值
    zrevrank key values值,作用是逆序获得下标值
    zrevrank zset01 v4
    zrevrange
    zrevrange zset01 0 -1 #逆序
    zrevrangebyscore key score区间
    zrevrangebyscore zset01 90 60 #逆序

  • 相关阅读:
    A “word-wrap” functionality(一个字符串包裹函数)
    First Unique Character in a String 的变种问题返回第一个找到符合条件的字符
    北美一工作搜索引擎公司技术岗面经
    一房地产数据服务初创公司的面经
    Prime numbers from 1 to 100 (打印 100 以内的素数)
    dubbo面试题(1)
    maven工具日常开发常用命令
    BaseMapper和继承
    《计算机是怎样跑起来的》读书笔记(2)
    AEAP工作总结模板套路
  • 原文地址:https://www.cnblogs.com/samRoot/p/14017829.html
Copyright © 2011-2022 走看看