单线程,通过epoll实现高并发,端口6379
本文介绍的内容:
string:存字符串
hash:存名字和值
list:存列表
set:存集合
sort set:有序集合,带权值排序的集合,可以应用到学生对应的分数
发布和订阅
小技巧
系统下命令参数作用
redis-cti -h ip portip:指定IP
port:主机端口在redis安装目录下运行,启动redis实例
set name valuename:键名
value:键值设置键名和键值
get namename:键名获取键值
set name value ex timename :键名
value:键值
ex:指定存在时间
time:时间设置键的存在时间,过期自动删除
Python下命令:
ConnectionPool(host,port)host:redis服务器地址
port:端口连接到redis服务器pool=redis.ConnectionPool(host='192.168.1.1',port=6379)
Redis(connection_pool)connection_pool:上面的链接绑定链接实例conn=(connection_pool=pool)
pipeline(transaction)transaction:redis链接创建管道pipe=redis.pipeline(transaction=conn)
execute()提交操作pipe.excute()
通用操作
select(db)db:redis数据库名。redis默认16个数据库。名字是0~15选取并使用redis的数据库
delete(*names)*names删除对应的name
exists(name)name判断key是否存在
keys(pattern='*')pattern:支持以正通配符
*:匹配任意多个字符
?:只匹配一个字符
[]:指定匹配[]的字符
以上可以搭配使用匹配pattern指定的name
expire(name,time)name:
time:为name设存活时间,过期自动删除
rename(src,dst)src:
dst:把name由src改成dst
move(name,db)name:
db:把name移动到指定的db下,如果目标db已存在相同name,则不移动
type(name)name:查看name的类型
randomkey()随机获取一个name
scan(cursor,match,count)cursor:默认0
match:默认None
count:默认None从cursor开始,匹配符合match条件,只匹配count条
scan_iter(match,count)match:
count:匹配count个,符合match条件的name,返回迭代器
Redis()host:
port:
connection_pool:连接到redis服务器
ConnectionPool()host:
port:创建链接凭据,供Redis()方法使用
pipeline(transaction,shard_hint)transaction:默认False,不每次都与服务器交互
shard_hint:默认None创建一个道对象,使用管道对象进行set后,必须使用execute()方法,才能上传数据到redis服务端,减少了服务器和客户端的交互次数pipe=r.pipeline()
pipe.set(name,value)
execute()提交管道内容到redis服务器pipe.execute()
STR操作
set()name:key名
value:key值
ex:过期时间,秒
px:过期时间,毫秒
nx:False。True:name不存在则set
xx:False。True:name存在则set设置key和key值
setnx(name,value)name:key名
value:key值如果key不存在,设置key和key值
setex(name,value,time_s)name:key名
value:key值
time_s:过期时间,秒设置key和key的值,到时间自动删除key
psetex(name,time_ms