02-快速回忆
redis是单进程,默认16个数据库,类似数组下标从0开始,初始默认使用0库
select命令切换数据库
dbsize查看当前数据库的key数量
举个例子
select 1
set zhi hellow
select 0
get zhi
此时将无法输出,因为0库中没有zhi这个值,而这个值存在于1库
set 为设置值,get为获取值
keys * 获取当前库所有的键名称
set k1 one
set k2 two
keys k?
类似于模糊查询 显示当前库所有 k开头的键
其他常见命令可查看文档手册
http://www.redis.cn/commands.html 最全最大的属官网
http://redisdoc.com/
http://www.runoob.com/redis/redis-server.html 刚好够用的手册
【数据类型】
字符串类型
string是redis 最基本的类型,可以理解成和 mencached一模一样的类型一个key对应一个value
string类型是二进制安全的。意思是redis的string可以包含任何数据,比如jpg图片或者序列化的对象
string类型是redis最基本的数据类型,一个redis中字符串value最多可以是512M
hash类型
hash是一个键值对集合
一个string类型的field和value的映射表,hash特别适合用于储存对象。
list列表
列表是最简单的字符串列表,按照插入顺序排序,可以添加一个元素到列表头部或者尾部,list的底层实际是个链表
应用场景:如果mysql获得最新的10个登录用户信息是 select * form user order by login_time desc limit 10;
可以实现,但数据多的时候,全部数据都要受到影响,对数据库的负载比较高,可能还要设置索引,索引页比较耗费系统资源 ,
如果通过list链表实现以上功能,可以在list链表中只保留最新的10个数据,每进来一个新数据就删除一个旧数据,极大的节省系统资源
redis 的 Set(集合) 是 string类型的无序集合。 关于set集合类型除基本的添加删除操作,还有取得并集、交集、差集。通过这些操作可以实现sns中的好友推荐功能
集合 A 中的值为 a1 a2 a3 a4 a5 a6 b7 a8
集合 B 中的值为 b1 b2 b3 b4 a5 b6 b7 a8
之前的set集合类型中每个元素就只是一个值