Netscaler数据索引String Map与Pattern Set的区别

Netscaler中建立索引或子集无疑是解耦前后关联事务的非常好的思路,可以大幅度的减少后期策略的修改,简化管理,降低用户的使用门槛。即便是不常操作netscaler但又偶尔有改动策略需求的管理员,你只要告诉他改一个地方的文件即可完成多条策略的更新工作,而不需要他理解复杂的策略逻辑关系。在netscaler中有data set、pattern set、string map等方式来提供不同目的的属性子集以供操作。我们这里先讨论其中两个与字符串相关的类型。
以下是手册中对这两个参数的描述:
String maps are similar in structure to pattern sets (a pattern set defines a mapping of index values to strings; a string map defines a mapping of strings to strings) and the configuration commands for string maps (commands such as add, bind, unbind, remove, and show) are syntactically similar to configuration commands for pattern sets. Also, as with index values in a pattern set, each key in a string map must be unique across the map. The following table illustrates a string map called url_string_map, which contains URLs as keys and values.

String map与Pattern set有很多相似之处,String map的数值是以一对一的情况出现,可以用在字符严格的一对一替换上

而Pattern Set则是以索引的形式来标识字符串,适合用在关键点的选取而非替换上,如果要用作替换只能做多对一或多对多的替换,无法精确到一对一。好的一点是它有索引,可以用策略来选取出其中的索引值来发展更多的应用。


测试举例:

在Responder测Action中应用String map

测试效果:
在URL中输入/test

匹配String Map后会被替换成


而输入/cj

依旧匹配Sting Map但被替换成

如果使用通常的办法,只能通过多条策略来实现

Action

Policy

Pattern set则无法实现上述功能,由于Pattern Set在此环境中是多对一个情况,会出现/test和/cj都被替换成/b/index.php

原文地址:http://blog.51cto.com/caojin/2061351

时间: 2024-11-07 23:13:46

Netscaler数据索引String Map与Pattern Set的区别的相关文章

Lua 字符串查找函数 string.find(s, pattern [, init [, plain]] )【转】

函数原型 string.find(s, pattern [, init [, plain]] ) s: 源字符串 pattern: 待搜索模式串 init: 可选, 起始位置 plain: 我没用过 ① 子串匹配: print(string.find("haha", 'ah') ) ----- 输出 2 3 注意: lua 里面数组或者字符串的字符, 其下标索引是从 1 开始, 不是 0 string.find 默认情况下返回两个值, 即查找到的子串的 起止下标, 如果不存在匹配返回

Elasticsearch 之 数据索引

对于提供全文检索的工具来说,索引时一个关键的过程——只有通过索引操作,才能对数据进行分析存储.创建倒排索引,从而让使用者查询到相关的信息. 本篇就ES的数据索引操作相关的内容展开: 更多内容参考:Elasticsearch资料汇总 索引操作 最简单的用法就是指定索引操作的index索引.type类型.ID(需要区分动词的索引和名次的索引),参考下面的例子: $ curl -XPUT 'http://localhost:9200/twitter/tweet/1' -d '{ "user"

Atitit.数据索引 的种类以及原理实现机制 索引常用的存储结构

1. 索引的分类1 1.1. 按照存储结构划分btree,hash,bitmap,fulltext1 1.2. 索引的类型  按查找方式分,两种,分块索引 vs编号索引1 1.3. 顺序索引  vs 散列索引2 1.4. 按索引与数据的查找顺序可分为 正排与倒排索引2 1.5. 单列索引与多列索引 复合索引2 1.6. 分区索引和全局索引 2 1.7.  Trie树一般指字典树 又称单词查找树,Trie树2 1.8. 稠密索引 vs 稀疏索引3 1.9. 多级索引 vs 单击索引3 1.10.

Atitit.数据索引 的种类以及原理实现机制 索引常用的存储结构

Atitit.数据索引 的种类以及原理实现机制 索引常用的存储结构 1. 索引的分类1 1.1. 索引的类型  按查找方式分,两种,分块索引 vs编号索引1 1.2. 按索引与数据的查找顺序可分为 正排与倒排索引1 1.3. 单列索引与多列索引2 1.4. 分区索引和全局索引 2 2. 索引建立,更新的流程使用触发更新索引的事件2 3. 索引常用的存储结构 B树文件 叫做“索引顺序存取方法”(Indexed Sequential Access Method),缩写为ISAM.2 4.  Trie

总结的一些json格式和对象/String/Map/List等的互转工具类

原文:总结的一些json格式和对象/String/Map/List等的互转工具类 源代码下载地址:http://www.zuidaima.com/share/1550463691508736.htm 总结的一些json格式和对象/String/Map/List等的互转工具类,有需要的可以看看,需要引入jackson-core-asl-1.7.1.jar.jackson-jaxrs-1.7.1.jar.jackson-mapper-asl-1.7.1.jar这三个jar包 package com.

Lua string.gsub (s, pattern, repl [, n])

lua的string函数导出在string module中.在lua5.1,同时也作为string类型的成员方法,因此,我们既可以写成string.gsub (s,……), 也可以s:gsub(). string.gsub (s, pattern, repl [, n]) 有四个参数,给定字符串,匹配模式.替代字符串,第四个参数是可选的,用来限制替换的范围:表示替换次数限制. 作用就是将所有符合匹配模式的地方都替换成替代字符串.并返回替换后的字符串,以及替换次数. 其中,repl可以是strin

Lua 中string.gsub(sourceString, pattern, replacementString) 返回值有两个

这阵子在学习lua,今天看到string操作,书中描述string.gsub(sourceString, pattern, replacementString)返回一个字符串,但是我在实际操作中却发现,这个函数其实返回的是两部分内容,一部分是替换后的字符串,一部分是替换长度. myString = "my name is lucy, my phone numbre is 010-88993366." print(string.gsub(myString, "%d",

Spring将classpath下的 .properties文件数据读出放到map中,在初始化时加载

因为项目需要需要将配置文件中的键值对读出放到map中 格式为: 001=123456789 Appcontext.xml中添加配置: <bean id="loadKeyFromProperties" class="com.:landau.init.LoadKeyFormProperties"> <property name="keyFileResource"> <value>classpath:keys.pro

查找list中的重复数据,并得到不重复数据索引位置

public static void main(String[] args) { List<String> strLs = new ArrayList<String>(); strLs.add("香蕉"); strLs.add("苹果"); strLs.add("苹果"); strLs.add("橘子"); strLs.add("橘子"); strLs.add("橘子&qu