zoukankan      html  css  js  c++  java
  • Redis基本操作-20150608

    Redis基本操作-20150608
     
    Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。

    Redis和普通的Key-Value结构不同,Redis的Key支持灵活的数据结构,除了strings,还有hashes、lists、 sets 和sorted sets等结构。正是这些灵活的数据结构,丰富了Redis的应用场景,能满足更多业务上的灵活存储需求。

         Redis的数据都保存在内存中,而且底层实现上是自己写了epoll event loop部分,而没有采用开源的libevent等通用框架,所以读写效率很高。为了实现数据的持久化,Redis支持定期刷新(可通过配置实现)或写日志的方式来保存数据到磁盘。

    一、数据类型:

         作为Key-value型数据库,Redis也提供了键(Key)和键值(Value)的映射关系。但是,除了常规的数值或字符串,Redis的键值还可以是以下形式之一:

    ●Lists (列表)
    ●Sets (集合)
    ●Sorted sets (有序集合)
    ●Hashes (哈希表)

            键值的数据类型决定了该键值支持的操作。Redis支持诸如列表、集合或有序集合的交集、并集、查集等高级原子操作;同时,如果键值的类型是普通数字,Redis则提供自增等原子操作。

    【setnx】
    setnx name HongWan_new
    由于原来name有一个对应的值,所以本次的修改不生效,且返回码是0。

    【setex】
      设置key对应的值为string类型的value,并指定此键值对应的有效期。
      例如我们添加一个haircolor= red的键值对,并指定它的有效期是10秒,可以这样做:
        redis 127.0.0.1:6379> setex haircolor 10 red
      OK
      redis 127.0.0.1:6379> get haircolor
      "red"
      redis 127.0.0.1:6379> get haircolor
      (nil)
      redis 127.0.0.1:6379>
      可见由于最后一次的调用是10秒以后了,所以取不到haicolor这个键对应的值。


    【setrange】

      设置指定key的value值的子字符串。

      例如我们希望将HongWan的126邮箱替换为gmail邮箱,那么我们可以这样做:
        redis 127.0.0.1:6379> get name
      "HongWan@126.com"
      redis 127.0.0.1:6379> setrange name 8 gmail.com
      (integer) 17
      redis 127.0.0.1:6379> get name
      "HongWan@gmail.com"
      redis 127.0.0.1:6379>
      其中的8是指从下标为8(包含8)的字符开始替换

    【mset】
      一次设置多个key的值,成功返回ok表示所有的值都设置了,失败返回0表示没有任何值被设置。
        redis 127.0.0.1:6379> mset key1 HongWan1 key2 HongWan2
      OK
      redis 127.0.0.1:6379> get key1
      "HongWan1"
      redis 127.0.0.1:6379> get key2
      "HongWan2"
      redis 127.0.0.1:6379>

    【getset name HongWan_new】
    【getrange name 0 6】【getrange name -7 -1】
    【mget key1 key2 key3】
  • 相关阅读:
    React Native入门教程2 -- 基本组件使用及样式
    React Native入门教程 1 -- 开发环境搭建
    [轻松一下] 大热天的宿舍太热了,来网吧敲代码
    读外部存储的权限READ_EXTERNAL_STORAGE
    【翻译】Ext JS 6.2 早期访问版本发布
    等火车
    HTTP 简介
    建造模式Builder
    DP解LCS问题模板及其优化(模板)
    poj1015 正解--二维DP(完全背包)
  • 原文地址:https://www.cnblogs.com/lsx1993/p/4619875.html
Copyright © 2011-2022 走看看