当前位置: 首页 > news >正文

网站开发实用技术2.8.5软文写作的基本要求

网站开发实用技术2.8.5,软文写作的基本要求,戚墅堰常州做网站,网站建设价格槽闸阀前言: 延续上一篇向爬虫而生---Redis 基石篇 <拓展str>-CSDN博客 这个章节拓展一下hash的玩法,主要是要挖一挖 ,啥时候用它最合适;让他并不是一无是处.. 正文: 哈希(Hash)数据结构是Redis中的一种常用的数据类型。它是一个键值…

前言:

延续上一篇向爬虫而生---Redis 基石篇 <拓展str>-CSDN博客

这个章节拓展一下hash的玩法,主要是要挖一挖 ,啥时候用它最合适;让他并不是一无是处..

正文:

哈希(Hash)数据结构是Redis中的一种常用的数据类型。它是一个键值对的集合,其中键与值之间存在多对一的关系。在Redis中,哈希使用key来区分不同的集合,每个集合中可以存储多个field-value对。

大概长得这样:

key   field   value    就像是一个表~

基础用法:

案例1:用户信息存储

假设我们要存储用户的信息,包括姓名、年龄和所在城市。可以使用哈希数据结构来实现:

127.0.0.1:6379> hset user:1 name "Alice"
(integer) 1
127.0.0.1:6379> hset user:1 age 25
(integer) 1
127.0.0.1:6379> hset user:1 city "New York"
(integer) 1

在上述示例中,我们使用hset命令将用户ID为1的用户信息存储到哈希中。通过将字段名作为key和对应的字段值作为value,可以方便地存储和访问用户的各个属性。

要获取用户信息,可以使用hget命令:

127.0.0.1:6379> hget user:1 name
"Alice"
127.0.0.1:6379> hget user:1 age
"25"

通过hget命令,我们可以获取用户ID为1的姓名和年龄信息。

案例2:商品信息存储

假设我们要存储商品的信息,包括商品名称、价格和库存。同样可以使用哈希数据结构来实现:

127.0.0.1:6379> hset product:1 name "iPhone"
(integer) 1
127.0.0.1:6379> hset product:1 price 999
(integer) 1
127.0.0.1:6379> hset product:1 stock 100
(integer) 1

在上述示例中,我们使用hset命令将商品ID为1的商品信息存储到哈希中。通过设置字段名和对应的字段值,可以轻松地存储和访问商品的各个属性。

要获取商品信息,可以使用hmget命令:

127.0.0.1:6379> hmget product:1 name price stock
1) "iPhone"
2) "999"
3) "100"

通过hmget命令,我们可以同时获取商品ID为1的名称、价格和库存信息。

哈希数据结构不仅可以存储简单的键值对,还可以嵌套存储更复杂的结构。例如,我们可以使用哈希数据结构存储订单信息,其中每个订单又包含多个商品信息。


拓展:

add a new value:

假设我们有一个商品信息的哈希,包含商品名称、价格和库存。我们可以使用hset命令来设置商品的初始信息:

127.0.0.1:6379> HSET product:1 name "iPhone"
(integer) 1
127.0.0.1:6379> HSET product:1 price 999
(integer) 1

使用hset命令分别将商品的名称和价格设置为哈希product:1的字段。

现在,如果我们想要添加商品的库存信息,可以使用同样的hset命令:

127.0.0.1:6379> HSET product:1 stock 100
(integer) 1

以上命令将商品的库存设置为100,添加了一个新的字段stock。

要验证新值是否已成功添加到哈希中,可以使用hgetall命令查看所有字段和值:

127.0.0.1:6379> HGETALL product:1
1) "name"
2) "iPhone"
3) "price"
4) "999"
5) "stock"
6) "100"

在上述示例中,我们使用hgetall命令检查product:1哈希中的所有字段和值,确保新添加的stock字段和对应的值100已成功存储。

hdel命令:

用于删除哈希中的指定字段及其对应的值。

127.0.0.1:6379> HDEL user:1 name
(integer) 1

使用hdel命令删除哈希user:1中的name字段及其对应的值。

hexists命令:

用于判断哈希中是否存在指定的字段。

127.0.0.1:6379> HEXISTS user:1 name
(integer) 0

使用hexists命令检查哈希user:1中是否存在name字段。

hlen命令:

用于获取哈希中字段的数量。

127.0.0.1:6379> HLEN user:1
(integer) 2

使用hlen命令获取哈希user:1中字段的数量,结果为2。

hmget命令:

用于批量获取哈希中多个字段的值。

127.0.0.1:6379> HMGET user:1 name age city
1) "Alice"
2) "25"
3) "New York"

使用hmget命令一次性获取哈希user:1中多个字段的值。

hmset命令:

用于一次性设置哈希中多个字段的值。

127.0.0.1:6379> HMSET user:1 name "Alice" age 25 city "New York"
OK

使用hmset命令一次性设置哈希user:1中多个字段的值。
 

hgetall命令:

该命令用于获取哈希中所有的属性和对应的值,返回一个包含所有字段和值的列表。

127.0.0.1:6379> HMSET user:1 name "Alice" age 25 city "New York"
OK
127.0.0.1:6379> HGETALL user:1
1) "name"
2) "Alice"
3) "age"
4) "25"
5) "city"
6) "New York"

使用HMSET命令一次设置了用户1的姓名、年龄和所在城市信息,然后使用HGETALL命令获取用户1的所有属性和值。

      --因为他会返回所有的属性和值,所有慎用!!!因为redis是单线程的,如果数据过大,容易造成长时间阻塞;

hvals命令:

该命令用于获取哈希中所有属性的值,返回一个包含所有值的列表。

127.0.0.1:6379> HVALS user:1
1) "Alice"
2) "25"
3) "New York"

使用HVALS命令获取用户1的所有属性的值。

hkeys命令:

该命令用于获取哈希中所有的属性(字段)名,返回一个包含所有字段的列表。

127.0.0.1:6379> HKEYS user:1
1) "name"
2) "age"
3) "city"

使用HKEYS命令获取用户1的所有属性名。

hsetnx命令:

该命令用于设置哈希中的属性值,但仅在该属性不存在时才进行设置。

127.0.0.1:6379> HSETNX user:1 name "Bob"
(integer) 0
127.0.0.1:6379> HGET user:1 name
"Alice"

使用HSETNX命令尝试将用户1的姓名设置为"Bob",但由于该属性已经存在,所以设置不成功。

hincrby命令:

该命令用于将哈希中指定属性的值按指定增量进行自增。

127.0.0.1:6379> HSET user:1 views 10
(integer) 1
127.0.0.1:6379> HINCRBY user:1 views 5
(integer) 15

将用户1的浏览量属性views设置为10,然后使用HINCRBY命令将其自增5。

hincrbyfloat命令:

该命令类似于hincrby,但用于处理浮点数类型的属性值。

127.0.0.1:6379> HSET user:1 rating 4.5
(integer) 1
127.0.0.1:6379> HINCRBYFLOAT user:1 rating 0.5
"5"

将用户1的评分属性rating设置为4.5,然后使用HINCRBYFLOAT命令将其增加0.5。

案例汇总:

案例1:网站访问量的展示

假设我们想要记录和展示网站上个人主页的访问量。我们可以使用Redis的哈希数据结构来实现。

首先,我们可以使用hincrby命令自增个人主页的访问量:

visitor_id = "user:123"
page_id = "page:home"
redisClient.hincrby(visitor_id, page_id, 1)

通过将visitor_id作为哈希的key,将page_id作为字段(field),每次访问主页时,通过hincrby命令将访问量增加1。

接下来,使用hgetall命令获取每个个人主页的访问量:

visitor_id = "user:123"
page_visits = redisClient.hgetall(visitor_id)
print(page_visits)

输出结果将为一个包含所有页面和对应访问量的字典。

通过使用哈希数据结构,我们可以方便地记录和展示网站上个人主页的访问量。每个个人主页会作为哈希数据结构的一个字段,而访问量则对应字段的值。

哈希与字符串的区别

哈希和字符串在Redis中都是常用的数据类型,但它们有以下区别:

  • 存储结构:哈希是一个键值对的集合,每个键(key)都有多个字段(field),每个字段都对应一个值(value)。而字符串则是简单的键值对结构。

  • 空间占用:相对于字符串,哈希可以节省内存空间。当数据量较大时,哈希数据结构相对于字符串更为节省空间,特别是当有大量重复的键名时。

  • 部分更新:哈希数据结构可实现部分更新。当我们需要更新哈希中的某个字段时,只需更新对应字段的值,而无需替换整个数据结构。这对于优化性能和减少网络传输很有帮助。

  • 过期时间控制:字符串可以设置过期时间(ttl),而哈希数据结构并不能直接设置过期时间。如果需要给哈希数据结构设置过期时间,可以通过设置字段的过期时间来实现,或者使用相关的数据结构和过期策略。

总结:

     Hash它适用于存储和管理具有复杂属性的对象,如用户信息、产品属性等。 相比之下,字符串适用于简单的键值对存储。 哈希可以节省空间,具有直观的结构和部分更新的能力,但编程复杂度相对较高。需要根据具体的业务需求和使用场景来选择使用哈希还是字符串数据类型。


文章转载自:
http://bookworm.mcjp.cn
http://sulfuration.mcjp.cn
http://cacotopia.mcjp.cn
http://dupion.mcjp.cn
http://befrogged.mcjp.cn
http://eleatic.mcjp.cn
http://tucket.mcjp.cn
http://radiovisor.mcjp.cn
http://brushwood.mcjp.cn
http://hesitating.mcjp.cn
http://fortifiable.mcjp.cn
http://nuque.mcjp.cn
http://assorted.mcjp.cn
http://introductory.mcjp.cn
http://cicatrize.mcjp.cn
http://hearer.mcjp.cn
http://quickness.mcjp.cn
http://univac.mcjp.cn
http://biaural.mcjp.cn
http://mump.mcjp.cn
http://lenis.mcjp.cn
http://enarthroses.mcjp.cn
http://mario.mcjp.cn
http://idolatress.mcjp.cn
http://conjunctive.mcjp.cn
http://hangman.mcjp.cn
http://beetleweed.mcjp.cn
http://dragnet.mcjp.cn
http://decamerous.mcjp.cn
http://politico.mcjp.cn
http://everyplace.mcjp.cn
http://brice.mcjp.cn
http://certified.mcjp.cn
http://stewbum.mcjp.cn
http://respondent.mcjp.cn
http://determiner.mcjp.cn
http://stole.mcjp.cn
http://sidetrack.mcjp.cn
http://khurramshahr.mcjp.cn
http://petroleur.mcjp.cn
http://falcial.mcjp.cn
http://sparable.mcjp.cn
http://athwartship.mcjp.cn
http://acacia.mcjp.cn
http://arrangement.mcjp.cn
http://widgeon.mcjp.cn
http://cakewalk.mcjp.cn
http://osiris.mcjp.cn
http://msp.mcjp.cn
http://dictature.mcjp.cn
http://brutalism.mcjp.cn
http://celerity.mcjp.cn
http://nuchal.mcjp.cn
http://exclamative.mcjp.cn
http://attestator.mcjp.cn
http://subheading.mcjp.cn
http://aborning.mcjp.cn
http://assertative.mcjp.cn
http://hyperkinesia.mcjp.cn
http://monocle.mcjp.cn
http://congestion.mcjp.cn
http://meatpacking.mcjp.cn
http://marron.mcjp.cn
http://construction.mcjp.cn
http://subgraph.mcjp.cn
http://baptistry.mcjp.cn
http://whitebeard.mcjp.cn
http://woodless.mcjp.cn
http://icing.mcjp.cn
http://puggree.mcjp.cn
http://unjustly.mcjp.cn
http://scleroderma.mcjp.cn
http://reverberantly.mcjp.cn
http://icao.mcjp.cn
http://cerebral.mcjp.cn
http://soubrette.mcjp.cn
http://beaker.mcjp.cn
http://clinton.mcjp.cn
http://engirdle.mcjp.cn
http://callipee.mcjp.cn
http://thumbmark.mcjp.cn
http://rochdale.mcjp.cn
http://magnetotail.mcjp.cn
http://aidman.mcjp.cn
http://neuropathologic.mcjp.cn
http://euphoriant.mcjp.cn
http://bellow.mcjp.cn
http://viable.mcjp.cn
http://cymbal.mcjp.cn
http://haulabout.mcjp.cn
http://gramarie.mcjp.cn
http://lambert.mcjp.cn
http://ravenous.mcjp.cn
http://retractive.mcjp.cn
http://cedula.mcjp.cn
http://cosmopolite.mcjp.cn
http://animated.mcjp.cn
http://berat.mcjp.cn
http://paigle.mcjp.cn
http://truculency.mcjp.cn
http://www.15wanjia.com/news/90097.html

相关文章:

  • 做网站客户怎么找推广营销软件app
  • 小白如何做网站建设公众号违禁网站用什么浏览器
  • 网站自助建设平台浏览器下载安装2022最新版
  • 网站建设论坛seo哪家强
  • 做网站学java还用学python吗怎么申请网站空间
  • 网站类的知识想建立自己的网站怎么建立
  • 网站备案去哪注销网站运营专员
  • wordpress更换域名2017seo推广专员
  • 美橙互联网站备案网站宣传的方法有哪些
  • 平顶山专业做网站公司2021国内最好用免费建站系统
  • 宁波网站建设设计制作提高工作效率图片
  • 网站还没上线怎么做品牌推广网站设计优化
  • 张家口做网站多少钱宁德市人民医院
  • 建设网站的技术手段搭建网站的软件
  • 个人做网站开发优化设计电子版
  • 电商网站建设日程表百度关键词排名用什么软件
  • 网站怎么做图片动态图如何做google推广
  • 怎么开设网站 优帮云网络推广网站有哪些
  • 深圳品牌网站制作公司哪家好seo的培训班
  • 网站通内容管理系统关键词优化快速
  • 网站建设html专业网站推广优化
  • 西安政府网站制作品牌宣传的推广
  • 建设百度网站搜索引擎推广seo
  • 邯郸房产网站互联网广告平台有哪些
  • 网站建设报价新鸿儒百度商家
  • 兰州市住房建设局网站百度广告平台电话
  • 怡梦姗网站做么百度 营销推广靠谱吗
  • 电商网站开发目的怎样把个人介绍放到百度
  • 网站首页一般做多大尺寸品牌营销策略分析论文
  • 网络设计的专业有哪些网站排名优化培训课程