开发系统:Ubuntu 17.04
Redis驱动:StackExchange.Redis 1.2.3
Redis版本:3.2.1
开发平台:.NET Core
对于Redis的介绍这里只写一句:Redis是一种基于内存的高性能非关系型数据库,它以kye-value的形式来存储数据。
5种数据结构Redis中包含5种数据类型:STRING、LIST、SET、HASH、ZSET。
Redis中的5中数据结构(截图出自《Redis in Action》):
Redis以key-value形式存储数据,其中key与value的关系可分为两种:
在Redis的STRING数据结构中,一个key对应一个value。
Redis中的其余四种数据结构,一个key可以对应多个value。
为了更直观的说明key和value间的关系,下面用几张图(截图来自《Redis in Action》)来描述Redis中的五种数据结构:
STRING结构:
LIST结构:
SET结构:
HASH结构:
ZSET结构:
其中:
SET和ZSET中没有重复元素;
相比SET,ZSET具有排序功能;
ZSET和HASH的value也是键值对形式:ZSET(score,member)、HASH(field,value);
STRING类型中不仅仅是存储字符,也可以存储数值(整数、浮点数);
5种数据结构最终存储的数据类型实际只有两种:字符和数值,Redis能够区分存储的值是字符还是数字;
在redis-cli中对于输入的命令会有智能提示
命令作用
HELP 获取命令的帮助信息,学会help命令很重要
DEL 删除key及对应的值
EXPIRE 设置键的过期时间,过期的键连同与该键相关的数据都将被删除
help命令:
命令作用
SET 向指定的key中写入值
GET 从指定的key中获取值
INCR 将指定key的值加1
DECR 将指定key的值减1
INCRBY 将指定key的值加上指定的数值
DECRBY 将指定key的值减去指定的数值
APPEND 向value中追加内容
GETRANGE GETRANGE key-name start end获取指定索引范围(字符串可看作是字符组成的数组)的字符,当start=0且end=-1时获取整个字符串
SETRANGE `设置指定偏移量的字符的值
GETBIT GETBIT key-name offset 将字符串看做是二进制形式(bit string),并返回指定偏移量位置处的二进制位的值
SETBIT 设置指定偏移量位置处的二进制位的值
BITCOUNT 返回字符串中二进制位值为1的二进制位数
BITOP 对字符串执行位运算,并将计算结果存储到指定的key中
对于BITCOUNT命令,专门写了一段程序进行验证,效果图如下:
c#代码:
redis-cli中执行bitcount命令的结果: