Redis教程

redis简单使用

本文主要是介绍redis简单使用,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

一、Redis概述

1、NoSQL分类:

2、 Redis数据模型

3、Redis key(key,value值)

  1、值是二进制安全的,这意味着可以用任何二进制序列作为key值,从形如”foo”的简单字符串到一个JPEG文件的内容都可以。

  2、空字符串也是有效key值 Key取值原则

  3、键值不需要太长,消耗内存,且在数据中查找这类键值的计算成本较高 键值不宜过短,可读性较差

 

二、Redis值类型-------字符串String型

 1、概述

    1.1、字符串是一种最基本的Redis值类型。Redis字符串是二进制安全的,这意味着一个Redis字符串能包含任意类      型的数据

   1.2、一个字符串类型的值最多能存储512M字节的内容

  2、命令

     2.1、获取帮助--help

     2.2、设置字符串值

  

  设置单个字符串键值

设置过期时间为秒

 

 

 

设置过期时间为微秒

 键不存在时,设置单个字符串(NX)

  设置多个键的字符串值

MSET key value [key value ...]

键不存在时,设置字符串值

  注意:这是原子操作,设置时有一个错误就全部错误

 

    2.3、过期

Redis中可以给Key设置一个生存时间(秒或毫秒),当达到这个时长后,这些键值将会被自动删除

  设置多少秒或者毫秒后过期 EXPIRE key seconds

              PEXPIRE key milliseconds

  设置在指定Unix时间戳过期 EXPIREAT key timestamp

              PEXPIREAT key milliseconds-timestamp

  删除过期 PERSIST key

     2.4、生存时间

  生存时间,Key的剩余生存时间

  查看剩余生存时间

    TTL key

    PTTL key

    key存在但没有设置TTL,返回-1

    key存在,但还在生存期内,返回剩余的秒或者毫秒

    key曾经存在,但已经消亡,返回-2(2.8版本之前返回-1)

 

 

 

 

 

 

     2.5、查找键      

KEYS pattern

 

 

 

 

     pattern取值

      * 任意长度字符

 

      ? 任意一个字符

      [] 字符集合,表示可以是集合中的任意一个

 

 

 

     2.6键操作

      键类型 TYPE key

      键是否存在 EXISTS key

      键重命名

        RENAME key newkey

        RENAMENX key newkey

      键删除 DEL key [key ...]

 

 

 

     2.7、值操作

获取值 GET key

 

获取多个给定的键的值 MGET key [key ...]

返回旧值并设置新值 GETSET key value

如果键不存在,就创建并赋值

字符串长度 STRLEN key

 

 

 

 

 

     2.8、字符串操作

追加字符串

  APPEND key value

  如果键存在就追加;如果不存在就等同于SET key value

 

获取子字符串

  GETRANGE key start end

  索引值从0开始,负数表示从字符串右边向左数起,-1表示最有一个字符

 

 

  注意:自右向左也要索引值小的放前面

 

覆盖字符串 SETRANGE key offset value

步长1的增减

  INCR key

  DECR key

    字符串值会被解释成64位有符号的十进制整数来操作,结果依然转成字符串

步长增减

  INCRBY key decrement

  DECR key decrement

    字符串值会被解释成64位有符号的十进制整数来操作,结果依然转成字符串

    2.9、位图bitmap

  位图不是真正的数据类型,它是定义在字符串类型中 一个字符串类型的值最多能存储512M字节的内容

设置某一位上的值

  SETBIT key offset value

    offset偏移量,从0开始

    value不写,默认是0

获取某一位上的值

  GETBIT key offset

返回指定值0或者1在指定区间上第一次出现的位置

  BITPOS key bit [start] [end]

     2.10、位操作

对一个或多个保存二进制位的字符串 key 进行位元操作,并将结果保存到 dteskey 上

operation 可以是 AND 、 OR 、 NOT 、 XOR 这四种操作中的任意一种

BITOP AND destkey key [key ...] ,对一个或多个 key 求逻辑并,并将结果保存到 destkey

 

BITOP OR destkey key [key ...] ,对一个或多个 key 求逻辑或,并将结果保存到 destkey

 

BITOP XOR destkey key [key ...] ,对一个或多个 key 求逻辑异或,并将结果保存到

 

 

destkey BITOP NOT destkey key ,对给定 key 求逻辑非,并将结果保存到 destkey

    注意:除了 NOT 操作之外,其他操作都可以接受一个或多个 key 作为输入 当 BITOP 处理不同长度的字符串时,较短的那个字符串所缺少的部分会被看作 0 空的 key 也被看作是包含 0 的字符串序列

统计指定位区间上值为1的个数

BITCOUNT key [start] [end]

从左向右从0开始,从右向左从-1开始,注意官方start、end是位,测试后是字节

BITCOUNT testkey 0 0表示从索引为0个字节到索引为0个字节,就是第一个字节的统计

BITCOUNT testkey 0 -1等同于BITCOUNT testkey 最常用的就是 BITCOUNT testkey

 

     2.11、库操作

登录不同的库

  redis-cli --help

  redis-cli -n 2

清除当前库数据

  FLUSHDB

清除所有库中的数据

  FLUSHALL

 

案例:

1、网站用户的上线次数统计(活跃用户) 用户ID为key,天作为offset,上线置为1 ID为500的用户,今年的第1天上线、第30天上线

 

 

 2、按天统计网站活跃用户 天作为key,用户ID为offset,上线置为1 求一段时间内活跃用户数

 求11月15日到11月20日的活跃用户

 

 

这篇关于redis简单使用的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!