diff --git a/NewLife.Redis/FullRedis.cs b/NewLife.Redis/FullRedis.cs
index fb53e68..8b00465 100644
--- a/NewLife.Redis/FullRedis.cs
+++ b/NewLife.Redis/FullRedis.cs
@@ -831,10 +831,11 @@ public class FullRedis : Redis
///
public virtual T? RPOPLPUSH(String source, String destination) => Execute(source, (rc, k) => rc.Execute("RPOPLPUSH", k, GetKey(destination)), true);
- ///
+ /// 弹出并插入另一个列表
+ ///
/// 从列表中弹出一个值,将弹出的元素插入到另外一个列表中并返回它; 如果列表没有元素会阻塞列表直到等待超时或发现可弹出元素为止。
/// 适用于做安全队列(通过secTimeout决定阻塞时长)
- ///
+ ///
///
/// 源列表名称
/// 元素后写入的新列表名称
@@ -998,5 +999,33 @@ public class FullRedis : Redis
///
///
public virtual T[]? SPOP(String key, Int32 count) => Execute(key, (r, k) => r.Execute("SPOP", k, count), true);
+
+ /// 执行lua脚本
+ ///
+ ///
+ ///
+ ///
+ ///
+ public virtual T? Eval(String script, String[] keys, Object[] args)
+ {
+ // EVAL script numkeys [key [key ...]] [arg [arg ...]]
+ keys ??= [];
+ args ??= [];
+ var ps = new List