@@ -2411,3 +2411,127 @@ Get or Set the redis config keys.
24112411$redis->config("GET", "*max-*-entries*");
24122412$redis->config("SET", "dir", "/var/run/redis/dumps/");
24132413</pre >
2414+ 
2415+ ## eval  
2416+ ##### Description  
2417+ Evaluate a LUA script serverside
2418+ ##### Parameters  
2419+ * script*  string. 
2420+ * args*  array, optional.
2421+ * num_keys*  int, optional.
2422+ ##### Return value  
2423+ Mixed.  What is returned depends on what the LUA script itself returns, which could be a scalar value (int/string), or an array.
2424+ Arrays that are returned can also contain other arrays, if that's how it was set up in your LUA script.  If there is an error
2425+ executing the LUA script, the getLastError() function can tell you the message that came back from Redis (e.g. compile error).
2426+ ##### Examples  
2427+ <pre >
2428+ $redis->eval("return 1"); // Returns an integer: 1
2429+ $redis->eval("return {1,2,3}"); // Returns Array(1,2,3)
2430+ $redis->del('mylist');
2431+ $redis->rpush('mylist','a');
2432+ $redis->rpush('mylist','b');
2433+ $redis->rpush('mylist','c');
2434+ // Nested response:  Array(1,2,3,Array('a','b','c'));
2435+ $redis->eval("return {1,2,3,redis.call('lrange','mylist',0,-1)}}");
2436+ </pre >
2437+ 
2438+ ## evalSha  
2439+ ##### Description  
2440+ Evaluate a LUA script serverside, from the SHA1 hash of the script instead of the script itself.  In order to run this command Redis
2441+ will have to have already loaded the script, either by running it or via the SCRIPT LOAD command.
2442+ ##### Parameters  
2443+ * script_sha*  string.  The sha1 encoded hash of the script you want to run.<br >
2444+ * args*  array, optional.  Arguments to pass to the LUA script.<br >
2445+ * num_keys*  int, optional.  The number of arguments that should go into the KEYS array, vs. the ARGV array when Redis spins the script
2446+ ##### Return value  
2447+ Mixed.  See EVAL
2448+ ##### Examples  
2449+ <pre >
2450+ $script = 'return 1';
2451+ $sha = $redis->script('load', $script);
2452+ $redis->evalSha($sha); // Returns 1
2453+ </pre >
2454+ 
2455+ ## script  
2456+ ##### Description  
2457+ Execute the Redis SCRIPT command to perform various operations on the scripting subsystem.
2458+ ##### Usage  
2459+ <pre >
2460+ $redis->script('load', $script);
2461+ $redis->script('flush');
2462+ $redis->script('kill');
2463+ $redis->script('exists', $script1, [$script2, $script3, ...]);
2464+ </pre >
2465+ ##### Return value  
2466+ *  SCRIPT LOAD will return the SHA1 hash of the passed script on success, and FALSE on failure.
2467+ *  SCRIPT FLUSH should always return TRUE
2468+ *  SCRIPT KILL will return true if a script was able to be killed and false if not
2469+ *  SCRIPT EXISTS will return an array with TRUE or FALSE for each passed script
2470+ 
2471+ ## getLastError  
2472+ ##### Description  
2473+ The last error message (if any) returned from a SCRIPT call
2474+ ##### Parameters  
2475+ * none* 
2476+ ##### Return Value  
2477+ A string with the last returned script based error message, or NULL if there is no error
2478+ ##### Examples  
2479+ <pre >
2480+ $redis->eval('this-is-not-lua');
2481+ $err = $redis->getLastError(); 
2482+ // "ERR Error compiling script (new function): user_script:1: '=' expected near '-'"
2483+ </pre >
2484+ 
2485+ ## _ prefix 
2486+ ##### Description  
2487+ A utility method to prefix the value with the prefix setting for phpredis.
2488+ ##### Parameters  
2489+ * value*  string.  The value you wish to prefix
2490+ ##### Return value  
2491+ If a prefix is set up, the value now prefixed.  If there is no prefix, the value will be returned unchanged.
2492+ ##### Examples  
2493+ <pre >
2494+ $redis->setOpt(Redis::OPT_PREFIX, 'my-prefix:');
2495+ $redis->_prefix('my-value'); // Will return 'my-prefix:my-value'
2496+ </pre >
2497+ 
2498+ ## _ unserialize 
2499+ ##### Description  
2500+ A utility method to unserialize data with whatever serializer is set up.  If there is no serializer set, the value will be
2501+ returned unchanged.  If there is a serializer set up, and the data passed in is malformed, an exception will be thrown.
2502+ This can be useful if phpredis is serializing values, and you return something from redis in a LUA script that is serialized.
2503+ ##### Parameters  
2504+ * value*  string.  The value to be unserialized
2505+ ##### Examples  
2506+ <pre >
2507+ $redis->setOpt(Redis::OPT_SERIALIZER, Redis::SERIALIZER_PHP);
2508+ $redis->_unserialize('a:3:{i:0;i:1;i:1;i:2;i:2;i:3;}'); // Will return Array(1,2,3)
2509+ </pre >
2510+ 
2511+ ## dump  
2512+ ##### Description  
2513+ Dump a key out of a redis database, the value of which can later be passed into redis using the RESTORE command.  The data
2514+ that comes out of DUMP is a binary representation of the key as Redis stores it.
2515+ ##### Parameters  
2516+ * key*  string
2517+ ##### Return value  
2518+ The Redis encoded value of the key, or FALSE if the key doesn't exist
2519+ ##### Examples  
2520+ <pre >
2521+ $redis->set('foo', 'bar');
2522+ $val = $redis->dump('foo'); // $val will be the Redis encoded key value
2523+ </pre >
2524+ 
2525+ ## restore  
2526+ ##### Description  
2527+ Restore a key from the result of a DUMP operation.
2528+ ##### Parameters  
2529+ * key*  string.  The key name
2530+ * ttl*  integer.  How long the key should live (if zero, no expire will be set on the key)
2531+ * value*  string (binary).  The Redis encoded key value (from DUMP)
2532+ ##### Examples  
2533+ <pre >
2534+ $redis->set('foo', 'bar');
2535+ $val = $redis->dump('foo');
2536+ $redis->restore('bar', 0, $val); // The key 'bar', will now be equal to the key 'foo'
2537+ </pre >
0 commit comments