redis基本用法学习(主要数据类型)

  redis官网教程中介绍有三种方式连接redis:命令行、gui工具和编程连接:
  命令行方式主要是在命令行中输入redis-cli后,通过命令方式与redis服务进行交互,支持两种模式:REPL模式(简单的交互式的编程环境)和命令模式(带参数执行redis-cli命令,返回标准输出内容);
  gui工具是指redis官网教程推荐使用RedisInsight软件可视化地与redis服务交互,RedisInsight软件为免费软件,可以浏览和操作数据,感觉类似其它数据库软件的客户端工具,使用起来比用命令行交互更直观;
  编程连接是指通过编程方式与redis服务交互,查询或操作数据,redis主要支持C#/.NET、Go、Java、Node.js、Python等编程语言,更详细的介绍见参考文献3。
  redis支持以键值对形式保存以下几种数据类型的数据:

序号 中文名称 英文名称 说明 主要命令
1 字符串 String 保存字符串类型的键值对,键和值是一对一的字符串,支持设置、删除、修改、获取键值对,支持批量设置、获取键值对,支持设置键值对的过期时间 SET、GET、SETEX、MSET、MGET
2 列表 List 支持按类似队列的形式保存值,键值对中,键为字符串,而值为类似队列的字符串集合,支持增加、插入、删除列表元素 LPUSH、LPOP、LTRIM、LRANGE、RPUSH、RPOP、LLEN
3 集合 Set 键值对中,键为字符串,值为无序字符串集合,且值不能重复,支持集合之间求差、求合等操作 SADD、SREM、SMEMBERS、SISMEMBER、SINTER、SCARD
4 有序集合 Sorted set 键值对中,键为字符串,值中的每个元素都由字符串成员(members)及其关联的分数(score)构成,有序集合按成员的分数从大到小排序,支持查看排序结果及排名,同时支持查看反向排序结果及排名,除此支持,有序集合支持常见的集合求合、求差等操作。 ZADD、ZCARD、ZRANGE、ZREVRANGE、ZRANK、ZREVRANK
5 哈希 Hash 键值对中,键为字符串,值为键值对集合,值中的每个键都不能重复,有点像json中平级的属性值集合的意思,参考文献4中以人员信息为例,可以使用哈希保存人员的姓名、年龄、性别、身高 等信息 HSET、HGET、HDEL、HEXISTS、HKEYS、HVALS、HLEN
6 Stream 键值对中,键为字符串,值中的每个元素都由唯一ID和一组键值对构成,可以用流几种接收和处理各方的消息,类似于生产者和消费者的形式,详细介绍见参考文献1和4 XADD、XREAD、XRANGE、XLEN
7 地理空间 Geospatial 主要存储和处理地理位置信息,键值对中,键为字符串,值中的每个元素都由经度、纬度、字符串成员(members)构成,支持计算成员与成员的距离,同时支持获取指定位置附近的所有成员列表,详细介绍见参考文献1和4 GEOADD、GEOSEARCH、GEODIST
8 位图 Bitmap 键值对中,键为字符串,值中的每个元素都由位置和一个0或1的值构成,可以用位图保存一组开关/灯/引脚的开闭状态,也可用于记录一组对象的有无状态,参考文献4中即以记录一组人的点赞状态为例说明位图的用法 SETBIT、GETBIT、BITCOUNT
9 位域 Bitfield 主要存储和处理数值型属性值,键值对中,键为字符串,值由SET/GET/INCRBY等命令开头的属性值信息,详细介绍即示例见参考文献4和6 BITFIELD、BITFIELD_RO
10 HLL HyperLogLog 支持基数统计(详细介绍见参考文献5),键值对中,键为字符串,值为字符串集合,支持获取字符串集合中的基数,同时支持合并HyperLogLog PFADD、PFCOUNT、PFMERGE

  后续主要学习字符串类型的键值对基本用法,同时学习基于C#/.NET操作字符串类型的键值对基本用法。

参考文献:
[1]https://redis.io/
[2]https://redis.io/docs/install/install-redis/
[3]https://redis.io/docs/data-types/
[4]一小时Redis教程,https://www.bilibili.com/video/BV1Jj411D7oG/?spm_id_from=333.337.search-card.all.click&vd_source=db4a1f65c18549c78df3e9d579e59e19
[5]https://zhuanlan.zhihu.com/p/77289303
[6]https://redis.io/commands/bitfield/

你可能感兴趣的:(网页编程,dotnet编程,redis,数据类型)