redis最基本的操作
//设置redis中的key value ,默认永不过期,如果重复设置一个key后面的value会把前面的覆盖掉
1.set keyname value //set laowang 22
//使用setnx keyname value 如果key存在则不操作返回0,不存在则设置这个key,返回1
//查看这个key的过期时间,单位是秒,-1表示永不过期
2.ttl keyname //ttl laowang
//设置这个key的过期时间,time直接输数字秒
3.expire keyname time //expire laowang 60
//列出所有的key,也可以模糊查询所有的key
4.keys *
//查询某个key的值
5.get keyname //get laowang
//删除key 多个用空格隔开
6.del laowang (laoli)
//查看数据库中key的数量
7.dbsize
//重命名keuy
8.rename key1 key2 //rename laowang laowangniubi
//查看key所存储value的类型
9.type keyname //type laowang
//用于计数,如统计出现bug用户的数量,每执行一次num这个key的值都加一
10.incr num
//incrby num 5 执行一次增加5。类似的递减的decr
11.查看redis版本
//服务端 redis-server -v
//客户端 redis-cli -v
eval(lua脚本)
//脚本读取eval中参数的方法
//1.参数eval的key,像脚本一样KEYS[1],注意是从1开始
//2.参数eval的其他参数,ARGV[1],也是从1开始
var script = `
local num = redis.call('GET',KEYS[1]);
if not num then
redis.call('INCR', KEYS[1])
redis.call('EXPIRE', KEYS[1],1)
return 0;
else
if tonumber(num) < tonumber(ARGV[1]) then
redis.call('INCR', KEYS[1])
redis.call('EXPIRE', KEYS[1],1)
return 0;
else
-- 超量了
return -1;
end
end
`
//eval [脚本] [KEYS参数个数] [KEYS参数...] [ARGV参数]
vint, e := redis.Int(conn.Do("eval", script, 1, argkey, maxTimes))