zoukankan      html  css  js  c++  java
  • redis学习(一)

    redis 是一个远程内存数据库,是一款具有复制,持久化,分片等特性,并提供5种数据结构,不要求用户来适应数据库,数据格式可以可以是任意,并支持集群模式,常见的主从,副本,是一款高性能,高并发场景的技术。

    一。redis与其他数据库的对比

    1.使用内存存储in-memory的非关系数据库
    2.支持的数据类型为5种,字符串,列表,集合,散列,有序集合。
    3.每种数据类型都有自己的专属命令,另外还有批量操作和不完全的事务支持。
    4.具有发布和订阅,主从复制,持久化,脚本。

    二。使用redis的理由。

    1.支持的数据结构满足需求,改变一个观念,从选择什么数据结构来实现需求。

    2.因为放在内存里面,所以效率高。

    三。5种数据结构简单介绍

    1.String 可以是字符串,整数或者浮点数。
    2.list 一个链表,链表上的每个节点都包含了一个字符串
    3.set 包含字符串的无序收集器,并且被包含的每个字符串都是独立无二,各不相同的。
    4.hash 包含键值对的无序散列表。
    5.zset 有序集合,字符串成员与浮点数分值之间的有序映射,元素额排列顺序由分值的大小决定。


    四,常见数据结构的基本命令。

    1.String

    set 设置存储在给定键中的值
      for example: set helloworld "你好世界"
    get 获取存储在给定键中值。如果键不在了将返回一个nil
      for example: get helloworld
    del 删除存储在给定键中的值
      for example: del helloworld

    2.list


    rpush 将给定值推入列表的右端。
      for example: rpush list-key item 值可以重复
    lrange 获取列表在给定范围上的所有值。索引从0开始。
      for example: lrange list-key 0,1/0,-1 注: 0,1返回第一个到第二个的值,o,-1则返回所有的值。
    lindex 获取列表在给定位置上的单个元素。
      for example: lindex list-key 0
    lpop 从列表的左端弹出一个值,并返回被弹出的值。
      for example: lpop list-key

    3.set


    sadd 将给定元素添加到集合
      for example: sadd set-key item 值不能重复,如果重复将返回0
    smembers 返回集合包含的所有元素
      for example:smembers set-key
    sismember 检查给定元素是否存在于集合中
      for example: sismember set-key item 如果存在返回1,不存在返回0
    srem 如果给定的元素存在于集合中,那么移除这个元素。
      for example: srem set-key item 如果存在这个值,则移除元素,并返回移除元素的数量

    4.hash

    hset 在散列里面关联起给定的键值对
      for example: hset hash-set sub-key1 value1 注: 类似map 但是如果key存在,存无法插入。
    hget 获取指定散列键的值
      for example:hget hash-set sub-key1
    hgetall 获取散列包含的所有键值对
      for example: hgetall hahs-set
    hdel 如果给定键存在于散列里面,那么移除这个键
      for example: hdel hash-key sub-key1

    5.zset

    zadd 将一个带有给定分值的成员添加到有序集合里面
      for example:
        zadd zset-key 721 member1
        return: 1
        zadd zset-key 721 member1
        return : 0

    zrange 根据有序排列的所处的位置,从有序集合里面获取多个元素
      for example:
        zrange zset-key 0,-1 withscores
        return:"member1" "721"
    zraangebyscore 获取有序集合在给定分值范围内的所有元素
      for example:
        zrangebyscore zset-key 0 800 withscores
        return: "member1" "721" 指定分数之间没有值则返回空
    zrem 如果给定成员存在于有序集合,那么移除这个成员
      for example:

        zrem zset-key member1 返回移除元素的数量。

  • 相关阅读:
    java 基本数据类型
    public 类、default 类、内部类、匿名内部类
    使用jar命令打jar/war包、创建可执行jar包、运行jar包、及批处理脚本编写
    jdk下载及安装
    数据库常用查询
    数据库锁的几种类型
    ORACLE表批量迁移表空间
    如何区分Oracle的数据库,实例,服务名,SID
    ORACLE下如何获得全部的索引创建语句
    oracle 内存分配和调优 总结
  • 原文地址:https://www.cnblogs.com/Seeasunnyday/p/9322350.html
Copyright © 2011-2022 走看看