【lua】key是string,value是string组成的list

该代码段展示了如何在Lua中初始化一个表格localmyTable,并通过ifnot检查键是否存在来避免错误。然后使用table.insert向myTable的key1和key2下添加值。最后,使用pairs和ipairs遍历并打印表格内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

local myTable = {}


if not myTable["key1"] then
  myTable["key1"] = {}
end
if not myTable["key2"] then
  myTable["key2"] = {}
end


table.insert(myTable["key1"], "value1")
table.insert(myTable["key1"], "value2")
table.insert(myTable["key1"], "value3")

table.insert(myTable["key2"], "value1")
table.insert(myTable["key2"], "value1")
table.insert(myTable["key2"], "value1")

for key, values in pairs(myTable) do
  print(key .. ":")
  for index, value in ipairs(values) do
    print("  " ..index .."  " .. value)
  end
end


打印:
key1:
  1  value1
  2  value2
  3  value3
key2:
  1  value1
  2  value1
  3  value1

public String get(String key) { Jedis jedis = (Jedis)this.ctx.getContextData().get("REDIS"); return jedis.get(key); } public void set(String key, String value) { Jedis jedis = (Jedis)this.ctx.getContextData().get("REDIS"); jedis.set(key, value); } public void setex(String key, int seconds, String value) { Jedis jedis = (Jedis)this.ctx.getContextData().get("REDIS"); jedis.setex(key, seconds, value); } public void del(String key) { Jedis jedis = (Jedis)this.ctx.getContextData().get("REDIS"); jedis.del(key); this.logger.fine(String.format("del:%s", key)); } /** @deprecated */ @Deprecated public String getBy3Key(String key1, String key2, String key3) { return ""; } /** @deprecated */ @Deprecated public void setBy3Key(String key1, String key2, String key3, String value) { } /** @deprecated */ @Deprecated public void setexBy3Key(String key1, String key2, String key3, int seconds, String value) { } /** @deprecated */ @Deprecated public void delBy3Key(String key1, String key2, String key3) { } public Long incr(String key) { Jedis jedis = (Jedis)this.ctx.getContextData().get("REDIS"); return jedis.incr(key); } public List<String> mget(String... keys) { Jedis jedis = (Jedis)this.ctx.getContextData().get("REDIS"); return jedis.mget(keys); } public void mset(String... keysvalues) { Jedis jedis = (Jedis)this.ctx.getContextData().get("REDIS"); jedis.mset(keysvalues); } public void hset(String key, String field, String value) { Jedis jedis = (Jedis)this.ctx.getContextData().get("REDIS"); jedis.hset(key, field, value); } public String hget(String key, String field) { Jedis jedis = (Jedis)this.ctx.getContextData().get("REDIS"); return jedis.hget(key, field); } public Long hincr(String key, String field, long value) { Jedis jedis = (Jedis)this.ctx.getContextData().get("REDIS"); return jedis.hincrBy(key, field, value); } public Set<String> hkeys(String key) { Jedis jedis = (Jedis)this.ctx.getContextData().get("REDIS"); return jedis.hkeys(key); } public List<String> hvals(String key) { Jedis jedis = (Jedis)this.ctx.getContextData().get("REDIS"); return jedis.hvals(key); } public Map<String, String> hgetAll(String key) { Jedis jedis = (Jedis)this.ctx.getContextData().get("REDIS"); return jedis.hgetAll(key); } public void hmset(String key, Map<String, String> hash) { Jedis jedis = (Jedis)this.ctx.getContextData().get("REDIS"); jedis.hmset(key, hash); } public List<String> hmget(String key, String... fields) { Jedis jedis = (Jedis)this.ctx.getContextData().get("REDIS"); return jedis.hmget(key, fields); } public void hdel(String key, String... fields) { Jedis jedis = (Jedis)this.ctx.getContextData().get("REDIS"); jedis.hdel(key, fields); this.logger.fine(String.format("hdel:%s,%s", key, Arrays.toString(fields))); } public void lpush(String key, String... strings) { Jedis jedis = (Jedis)this.ctx.getContextData().get("REDIS"); jedis.lpush(key, strings); } public void rpush(String key, String... strings) { Jedis jedis = (Jedis)this.ctx.getContextData().get("REDIS"); jedis.rpush(key, strings); } public List<String> lrange(String key, long start, long end) { Jedis jedis = (Jedis)this.ctx.getContextData().get("REDIS"); return jedis.lrange(key, start, end); } public String lpop(String key) { Jedis jedis = (Jedis)this.ctx.getContextData().get("REDIS"); return jedis.lpop(key); } public String rpop(String key) { Jedis jedis = (Jedis)this.ctx.getContextData().get("REDIS"); return jedis.rpop(key); } public void sadd(String key, String... members) { Jedis jedis = (Jedis)this.ctx.getContextData().get("REDIS"); jedis.sadd(key, members); } public Set<String> smembers(String key) { Jedis jedis = (Jedis)this.ctx.getContextData().get("REDIS"); return jedis.smembers(key); } public String spop(String key) { Jedis jedis = (Jedis)this.ctx.getContextData().get("REDIS"); return jedis.spop(key); } public Set<String> keys(String pre) { Jedis jedis = (Jedis)this.ctx.getContextData().get("REDIS"); return jedis.keys(pre); } public void expire(String key, int ex) { Jedis jedis = (Jedis)this.ctx.getContextData().get("REDIS"); jedis.expire(key, ex); } public Long ttl(String key) { Jedis jedis = (Jedis)this.ctx.getContextData().get("REDIS"); return jedis.ttl(key); } public Long LkmSequenceHincr(String field) { String SEQUENCE_REDIS = "EJB:SEQUENCE:AUTOINCR"; Jedis jedis = (Jedis)this.ctx.getContextData().get("REDIS"); return jedis.hincrBy(SEQUENCE_REDIS, field, 1L); } public Long[] LkmSequenceBatch(String field, int qty) { Long[] sequenceArr = new Long[qty]; for(int i = 0; i < qty; ++i) { sequenceArr[i] = this.LkmSequenceHincr(field); } return sequenceArr; } public Long setnx(String key, String value) { Jedis jedis = (Jedis)this.ctx.getContextData().get("REDIS"); return jedis.setnx(key, value); } public Long hsetnx(String key, String field, String value) { Jedis jedis = (Jedis)this.ctx.getContextData().get("REDIS"); return jedis.hsetnx(key, field, value); } public boolean getSwitchStatus(String switchName) { String result = this.hget("CONFIG:LKM开关:开关集合", switchName); return this.getBoooleanStatus(result); } private boolean getBoooleanStatus(String src) { if (StringUtils.isBlank(src)) { return false; } else { src = src.trim(); return src.matches("(?i)(on)|(true)|(yes)"); } }通过上述操作redis方法实现
07-05
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值