2019独角兽企业重金招聘Python工程师标准>>>
mysql 关系型数据库
Redis是一种nosql ,key value的存储方式。
key:过期特性 ,唯一性
value:支持多种多样数据,String、hash(相当于存取对象)、List、Set、Sortted Set
发布约定、持久化
命令:
--------String-------------------
set hejie 123 :添加一条数据,成功返回1,失败返回0
get hejie :根据key获取数据,成功返回1,失败返回0
mget :获取多个
del hejie : 删除一条数据。
expire hejie 10 :设置hejie这条数据过期时间为10s,成功返回1,失败返回0
setnx hejie 432 : 添加一条数据, 如果hejie值已经存在,将会设置失败,返回0
setnx 可以作为 分布式锁 ,类似于购买电影票时候的排队。
--------hash-------------------
hset user name "hejie" age "30" :存对象
hgetall user :获取对象中所有的值
hget user name:获取对象中的name的值
hset user name "zhangsan" 设置对象中单个属性的值
hmset user name "lisi" age "55" :设置对象中多个属性的值
--------List(有顺序的可以重复,入栈出栈)-------------------
lpush userList aaa bbb ccc 添加数据
lpush userList ddd 添加数据
lindex userList 0 根据索引查询数据
lrange userList 0 -1 根据索引范围查询数据
lpop userList 移除顶部元素
rpop userList移除底部元素
lrem xxx 删除
llen userList 获取数据长度
--------set(无序、不重复)-------------------
sadd userSet aaa bbb ccc
spop userSet 移除顶部元素
srem userSet bbb 删除
sinter userSet userSet2 求两个set交集
sdiff userSet userSet2 差值,显示userSet中有userSet2中没有的值
--------SorttedSet(无重复元素 且 有序set)-------------------
zadd userSet 3 aaa 4 bbb 1 ccc 添加元素并且给定score序号
zrange userSet 0 -1 查询userSet并且根据score 排序
zrange userSet 0 -1 withscores查询userSet显示序号并且根据score 排序
zdd userSet 9 aaa;添加aaa元素会失败,但是序号将会更新为9 ,可以用排行榜功能