F5 iRule学习之2全局数组变量

简介:

变量的定义都很简单,set var "F5",全局变量的定义也是,set ::var "F5",那么全局数组变量呢?

如何定义?如何访问呢?

首先我们看下,全局数组我们可以理解为class,也就是Data Group,在这里有二种文件存放位置,和三种类型(字符串,地址,整型).

一种是内置的存放在bigip.conf文件中,另一种扩展文件是存放在文件系统中,如/var/class/文件夹中.

以下,是v10的一种格式转换,抄自devcentral


Address Classes

   [internal class]
   class addr_testclass {
      {
         host 192.168.1.1
         host 192.168.1.2 { "host 2" }
         network 192.168.2.0/24
         network 192.168.3.0/24 { "network 2" }
      }
   }

   [external class]
   class addr_testclass_ext {
      type ip
      filename "/var/class/addr_testclass.class"
      separator ":="
      }

   [/var/class/addr_testclass.class]
   host 192.168.1.1,
   host 192.168.1.2 := "host 2",
   network 192.168.2.0/24,
   network 192.168.3.0/24 := "network 2",

Note: You can also add network entries in the address type external file like shown immediately below, but when the class is updated, it will be converted to the CIDR format.

   network 192.168.4.0 mask 255.255.255.0 := “network 3”,
   network 192.168.5.0 prefixlen 24 := "network 4",

Integer Classes

   [internal class]
   class int_testclass {
      {
         1 { "test 1" }
         2 { "test 2" }
      }
   }

   [external class]
   class int_testclass_ext {
      type value
      filename "/var/class/int_testclass.class"
      separator ":="
      }

   [/var/class/int_testclass.class]
   1 := "test 1",
   2 := "test 2",

String Classes

With string classes, quotes are necessary on the types and values:

   [internal class]
   class str_testclass {
      {
         "str1" { "value 1" }
         "str2" { "value 2" }
      }
   }

   [external class]
   class str_testclass_ext {
      type string
      filename "/var/class/str_testclass.class"
      separator ":="
      }

   [/var/class/str_class.class]
   "str1" := "value 1",
   "str2" := "value 2",

内置的我们可以通过F5界面的Data group添加,扩展的我们需要前面的面板,外加vi功能.

这样,我们就定义了几组相关的数组数据。如何访问呢?

我们可以使用class命令,它是v10+高级功能的数组访问功能函数.

如[class element 0 class_name]返回class_name索引0的元素.


其他的可以好好看看class命令!



本文转自hahazhu0634 51CTO博客,原文链接:http://blog.51cto.com/5ydycm/1238802,如需转载请自行联系原作者

相关文章
|
2月前
|
云安全 人工智能 安全
Dify平台集成阿里云AI安全护栏,构建AI Runtime安全防线
阿里云 AI 安全护栏加入Dify平台,打造可信赖的 AI
|
3月前
|
人工智能 IDE 开发工具
CodeGPT AI代码狂潮来袭!个人完全免费使用谷歌Gemini大模型 超越DeepSeek几乎是地表最强
CodeGPT是一款基于AI的编程辅助插件,支持代码生成、优化、错误分析和单元测试,兼容多种大模型如Gemini 2.0和Qwen2.5 Coder。免费开放,适配PyCharm等IDE,助力开发者提升效率,新手友好,老手提效利器。(238字)
507 1
CodeGPT AI代码狂潮来袭!个人完全免费使用谷歌Gemini大模型 超越DeepSeek几乎是地表最强
|
5月前
|
人工智能 自然语言处理 数据安全/隐私保护
企业AI落地开源五剑客:Open-WebUI、Dify、RAGFlow、FastGPT、n8n
在AI技术迅猛发展的今天,企业常面临数据安全、技术门槛和系统整合等难题。本文介绍了五款开源工具——Open WebUI、Dify、RAGFlow、FastGPT和n8n,它们以低成本、私有化部署和模块化扩展的优势,助力企业构建AI能力闭环,覆盖交互、生成、知识处理与流程自动化等多个环节,推动AI真正落地应用。
|
7月前
|
人工智能 智能硬件
Claude 4来了 ,与DeepSeek/Qwen/Hunyuan 谁更强?
Claude 4发布,号称多项突破与超越。本文通过国内首款办公提效AI牛马智能体AiPy,在端午旅游规划场景下测评Claude 4、DeepSeek v3、Qwen-Plus和HunYuan-Turbos的表现。测评任务为制定1500元内端午旅行计划,并生成HTML报告。结果显示,Claude 4表现卓越但价格昂贵,是国产大模型的十倍以上;DeepSeek性价比高,值得称赞。国产大模型虽有亮点,但仍需努力追赶国际水平。测评结果附有各模型生成的报告截图对比。
|
设计模式 网络协议 Java
13.观察者模式设计思想
本文详细介绍了观察者模式的设计思想,包括其定义、实现方式、优缺点及应用场景。通过微信公众号的例子,阐述了如何使用观察者模式实现对象间的依赖关系,确保一个对象状态改变时能自动通知其他对象。文章还提供了观察者模式的结构图和时序图,帮助读者更好地理解和应用这一设计模式。
224 2
13.观察者模式设计思想
|
5月前
|
人工智能 缓存 数据可视化
手把手玩转本地大模型:Ollama+DeepSeek+Dify 零门槛全流程指南
本文提供从零搭建本地AI工作站的完整指南,详解本地化部署大模型的核心优势(数据隐私/离线可用/成本可控),涵盖Ollama安装、DeepSeek-Coder模型部署、Dify可视化操作及API调用实战,助你打造安全高效的私有AI开发环境。
|
机器学习/深度学习 人工智能 自然语言处理
科普神文,一次性讲透AI大模型的核心概念
令牌,向量,嵌入,注意力,这些AI大模型名词是否一直让你感觉熟悉又陌生,如果答案肯定的话,那么朋友,今天这篇科普神文不容错过。我将结合大量示例及可视化的图形手段,为你由浅入深一次性讲透AI大模型的核心概念。本文转载至:https://baijiahao.baidu.com/s?id=1779925030313909037&wfr=spider&for=pc。确实是一篇很不错的文,很好的解释了大模型底层的一些基本概念,对于我这种AI新手非常友好哈哈哈
科普神文,一次性讲透AI大模型的核心概念
|
存储 JSON NoSQL
【redis数据同步】redis-shake数据同步全量+增量
【redis数据同步】redis-shake数据同步全量+增量
|
负载均衡 前端开发 应用服务中间件
Nginx从入门到精通(超级详细)(上)
Nginx从入门到精通(超级详细)(上)