• redis 数据库


    redis 数据库

    一、配置

      我的log日志:/var/log/redis
      我的redis服务端的启动: sudo redis-server /etc/redis/redis.conf
      停止redis服务
        ps ajx|grep redis
        sudo kill -9 redis的进程id

      客户端启动:redis-cli
      数据文件存储路径:/var/lib/redis

    二、value的数据类型:

    1.string

    set key value [ex seconds]
    nx :不存在则创建key
    xx: 存在则创建
    get key 根据key得到values值

    setnx 不存在则创建key
    setex 设置过期时间

    批量设置和取值:
    mset :设置多个键值对
    mget :得到多个键值

    修改:
    set count 99 -- 进行覆盖
    设置新值取回旧值
    getset key new_value

    增加 incr key -----+1
    减少 decr key ------ -1
    incrby key 5 ---- +5 指定值增加
    decrby key 5 ------ -5 减少

    类似切片操作
    getrange key start end []
    setrange key 5 ab 在5那进行插入

    字符串长度:
    strlen key

    2.hash

    key:可以绑定一些关联性较强的数据
    user:{name:'',password:'',addr:'',phone:''}
    设置:
    hset key field value
    hget key field 只能获取指定field的值

    hmset key field value field value ...
    hmget key field field ...

    hgetall key -- 获取全部
    hkeys key ----- dict.keys()
    hvals key ------dict.values()

    删除:hdel key field
    获取个数:
    hlen key
    hexists key field

    3.list

    lpush key value -默认放到首部
    rpush key value 尾部
    llen key -长度
    lrange key start stop 获取列表内容

    lpushx key value 存在则往列表中添加

    在一个元素的前|后插入新元素
    linsert key BEFORE|AFTER pivot value

    lset key index new_value

    lrem key count value -- count表示个数
    list是允许重复,就会有多个相同值,通过count指定个数

    lpop key -- 删除列表的第一个最上面的元素

    根据索引获取列表内元素
    lindex key index

    4、set

    类似 python set{'admin','gao',...}
    添加:
    sadd key members
    获取:
    smembers key
    scard key 获取长度

    交集:
    sinter key1 key2...
    差集:
    sdiff key1 key2...
    合集:
    sunion key1 key2...

    sismember key member -- 判断member是否是key中成员

    smove key1 key2 member ----移动赋值
    spop key ----随机删除元素
    srem key member ---指定元素删除

    5、zset

    有序集合,在集合的基础上,为元素排序;元素的排序需要根据另外一个值来进行比较。所以,对于有序集合,每一个元素有两个值,即:值和分数,分数专门用来排序

    添加:zadd key [nx|xx] score member...
    nx--没有就创建
    xx--存在就修改
    查看:
    zrange key start stop... 从小到大
    zrevrange key start stop... 从大到小

    zadd key xx incr 1 james ---如果存在则在原来的基础上增加1

    返回元素个数:
    zcard key
    zcount key min max 指定范围之间的个数

    zscore key member 查看member的score值
    zrangebyscore z2 (100 -inf withscores 比100大的元素
    zrevrangebyscore z2 (200 -inf withscores 小于200以下的

    删除:
    zrem key member 删除指定member的元素
    zremrangebyscore key min max 根据score的范围实现删除

    运算:
    交集:
    zinterstore new_key 2 key1 key2
    合集:
    zunionstore new_key 2 key1 key2 数字2指的是2个key求合集

    flushdb 清空当前库所有的key、

    flushall 清空所有的库

    三、备份

    save config get dir /var/lib/redis SAVE和BGSAVE命令的区别在于:SAVE命令是阻塞主进程,save操作完成之后,主进程才开始工作,客户端可以连接;BGSAVE命令是fork一个专门save的子进程,此操作不会影响主进程。

    恢复:把dump.rdb放到启动redis的目录下,重启redis即可恢复数据。

    主从复制

    一路独行,遇见最好的自己!!!
  • 相关阅读:
    sql的ROWCOUNT的说明。
    引用: 把new、virtual、override说透
    我要在左边的FRAME1里调用右边的FRAME2的JAVASCRIPT函数
    webconfig设置用户控件配置。
    2个Frame用ID标记没用, 用NAME标记有用。 查询BAIDU,如下。
    HttpWebRequest加载证书请求远端https服务器时 : 基础连接已经关闭: 无法与远程服务器建立信任关系
    SELECT 与 SET 对变量赋值的区别(存储过程)
    Ajax小示例
    My97Date 有一个功能强大的时间控件
    Tomcat6.0 管理界面的配置
  • 原文地址:https://www.cnblogs.com/rungang/p/11518511.html
Copyright © 2020-2023  润新知