zoukankan      html  css  js  c++  java
  • redis概要学习

    redis 概要学习

    redis简介

    Redis 是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据库。

    1. Redis 与其他 key - value 缓存产品有以下三个特点:
    • Redis支持数据的持久化,可保存在磁盘中重复加载使用
    • Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。
    • Redis支持数据的备份
    1. readis 的优势
    • 性能高,速度快
    • 丰富的数据类型
    • 原子性
    • 丰富的特性 – Redis还支持 publish/subscribe, 通知, key 过期等特性

    redis安装(乌班图系统安装)

    在 Ubuntu 系统安装 Redis 可以使用以下命令:

    $sudo apt-get update

    $sudo apt-get install redis-server

    启动 Redis

    $ redis-server

    查看 redis 是否启动?

    $ redis-cli

    以上命令将打开以下终端:

    redis 127.0.0.1:6379>
    127.0.0.1 是本机 IP ,6379 是 redis 服务端口。现在我们输入 PING 命令。

    redis 127.0.0.1:6379> ping

    PONG

    以上说明我们已经成功安装了redis。

    redis配置

    • 直接修改redis配置文件名:redis.conf
    • 用命令修改配置:进入redis交互界面执行命令:
    redis 127.0.0.1:6379> config set config_setting_name  new_config_value
    
    • 用*号获取所有配置项:
    redis 127.0.0.1:6379> config get *
    

    redis数据类型

    • string(字符串):key-value模式,value可以包含任何数据,比如图片或者序列化的对象
    • hash(哈希):是一个键值对的集合,特别适合用于存储对象
    • list(列表):是简单的字符串列表,按照插入顺序排序
    • set(集合):是string类型的无序集合,集合内元素不能相同
    • zset(有序集合):也是string类型元素的集合,且不允许重复成员,通过分数为集合中的成员从小到大排序

    redis命令

    1. keys命令
    • del key:删除key
    • dump key:序列化key
    • exists key:检查key是否存在,存在则返回1,不存在返回0
    • expire key seconds:设置key的过期时间,以秒计
    • expire key timestamp:设置key的过期时间,以时间戳计
    • move key db:将当前数据库的key移动到给定数据库db当中
    • persist key:移除key的过期时间
    • rename key newkey:重命名
    • type key:查询key的数据类型
    1. string
    • set key value:将value赋值给key
    • get key:查出key的值
    • del key:删除key的值
    • getrange key start end:返回key中字符串值
      的子字符
    • setrange key offset value:用value参数覆盖key所存储的字符串,从offset位置开始
    • getset key value:设置key的新值,并返回旧值
    • mget key1 key2...:查询多个key的值
    • mset key value[key value...]:同时设置一个或多个key-value
    • strlen key:返回key的字符串长度
    • setnx key value:只有key不存在时设置key的值
    • incr key:将key的数值加1
    • decr key:将key的值减1
    • incrby key increment:将key的值加上给定的增量
    • decrby key decrement:将key的值减去给定的减量
    • append key value:key已经存在且是一个字符串,将value追加到原值的末尾
    1. hash
    • hmset key field1 " " field2 "":设置key中field1和field2的值
    • hget key field1:查出key中field1的值
    • hmget key field1 field2...:或取多个指定字段的值
    • hdel key field1 field2...:删除一个或多个hash表字段
    • hexists key field:检查field是否存在,存在则返回1
    • hgetall key:查询key中的所有字段和值
    • hkeys key:或取hash表中的字段
    • hvals key:或取hash表中所有值
    • hlen key:或取hash表中字段的数量
    • hincrby key field increment:为hash表key中指定的字段的整数值加上增量increment
    1. list
    • lpush key value1 [value2]:把一个或多个插入到列表头部
    • lpop key:移出并获取列表的第一个元素
    • lrange key 0 10:获取列表指定范围内的元素
    • lrem key count value:移除列表元素
    • lset key index value:通过索引设置列表元素的值
    • rpush key value1[value2]:在列表的尾部添加一个或多个值
    • rpop key:移除列表的最后一个元素
    1. set
    • sadd key member1[member2]:向集合添加一个或多个成员
    • scard key:获取集合成员数
    • smembers key:获取集合中的所有值
    • sdiff key1 key2:是相对于key1而言,返回与key2对比中key1里的不同值
    • sinter key1[key2]:返回给定所有集合的交集
    • spop key:移除并返回集合中的一个随机元素
    • srem key member1[member2]:移除集合中一个或多个成员
    1. zset
    • zadd key score1 member1[score2 member2]:向有序集合添加一个或多个成员,或者更新已存在成员的分数
    • zcard key:获取有序集合的成员数
    • zcount key min max:计算在有序集合中区间分数的集合数
    • zincrby key increment member:在有序集合中对指定成员的分数加上增量increment
    • zrange key start stop[withscores]:通过索引区间返回有序集合指定区间内的成员
    • zrank key member:返回有序集合中指定成员的索引
    • zrem key member[member...]:移除有序集合中一个或多个成员
    • zscore key member:返回有序集合中成员的分数值
    • zrevrange key start stop[withscores]:返回有序集合中指定区间内的成员,通过索引,分数从高到低
    1. 连接操作命令
    • quit:关闭连接
    • auth password:简单密码认证
    • help cmd:查看cmd帮助
    • select index:切换到指定数据库
    1. 持久化命令
    • save:将数据同步保存到磁盘
    • bgsave:将数据异步保存到磁盘
    • shutdown:异步保存数据到硬盘,并关闭服务器
    1. 事务命令
    • multi:标记事务开始
    • discard:取消事务
    • exec:执行事务
    • watch key [key...]:监视一个或多个key
    • unwatch:取消对所有key的监视
  • 相关阅读:
    synchronized关键字的用法
    for循环删除集合陷阱
    Java之可变参数
    下拉菜单中的Option对象
    JavaScript数组
    线程
    尝试用代码写博客
    环境配置大全
    3中边缘检测算子
    caffe新手入门
  • 原文地址:https://www.cnblogs.com/emptyCup/p/13164493.html
Copyright © 2011-2022 走看看