Redis的基本使用
1、Redis基本介绍
1.1、redis 基本介绍
1.2、redis安装和基本使用
1.3、redis的优势
异常快速:Redis速度非常快,每秒能执行约11万集合,约81000条每秒。
支持丰富的数据类型:Redis原生支持最大多数开发人员已经知道的,像列表,集合,分类,散列等数据类型。这使得它非常容易解决各种各样的问题,因为我们知道哪些数据类型问题是可以通过它的处理得更好。
操作原子性:所有Redis的操作是原子的,这保证了如果两个客户端同时访问的Redis服务器将获得更新后的值。
MultiUtility工具:Redis是一个多实用的工具,可以在一些像缓存,消息,队列用例中使用(Redis原生支持发布/订阅),在应用程序,如Web应用程序的会话,网络页面点击数短期数据等等。
操作原理图:
链接redis:
1.3、redis操作指令一览
2、Redis基本使用
2.1、redis的基本使用
2.3、Redis的CURD
2.3.1、Redis的五大数据类型
String(字符串)、Hash(哈希)、Lish(链表)、集合(Set)、有序集合(Zset)
String基本介绍:
a、String是redis最基本的类型,一个key对应一个value
b、String类型是二进制安全的,除普通字符串外,也可以存放图片等数据;单个value最大值512M
c、set操作,set[如果key存在就相当于修改,如果不存在相当于添加];set key value;
d、get操作,直接 get key键
e、del操作,直接del key键
f、set设置过期时间, setex key 过期时间 value
g、mset同时设置一个或多个 key-value对,如果给定的key已经存在,那么mset会用新值覆盖原来的旧值,格式:mset key1 value1 key2 value2,可以使用mget 获取全部值 也可以单独使用get 指定的键
Hash基本介绍(hash类似golang里面的map):
a、Redis hash是一个键值对集合,每个hash可存储多达2的32次方-1个字段-值对(超过42亿)
b、Redis hash是一个string类型的field和value的映射表,hash特别适合用于存储对象
c、设置指令格式: hset key field value
d、获取指令格式: hget key field
e、获取所有: hgetall key
f、一次性设置所有:hmset key field value field value ...
g、一次性获取所有:hmget key field field ...
h、删除指定字段:hdel key field
i、hlen统计一个hash有几个元素
j、查看hash表key中,是否存在给定的field字段,指令格式:hexists key field
List(列表)基本介绍:
列表是简单的字符串列表,按照插入顺序排序,你可以添加一个元素到列表的头部(左边)或者尾部(右边)。
List本质是个链表,List的元素是有序的,元素的值可以重复。
List数据结构分析:
a、设置一个链表,从左边插入:lpush key value value value ... 依次放入aaa bbb ccc
b、获取链表内容,从左边“取出”(只是取出,链表中还存在这个数据):lrange key start stop ,这里的start代表开始,stop代表结束,当stop为-1的时候表示取到最后一个值,lrange key 0 -1,表示全部取出;依次取出 ccc bbb aaa
c、设置一个链表,从右边插入:rpush key value value value ... 依次放入ddd eee
此刻再从左边取出, 看看数据结构:
d、从链表左边“弹出”(从链表中弹出移走数据):lpop key
e、从链表右边“弹出”(从链表中弹出移走数据):rpop key
f、删除整个链表:del key
注意事项:
a、lindex :按照索引下标获得元素(从左到右,编号从0开始)
b、LLEN key :返回列表key的长度,如果key不存在,则key被解释为一个空列表,返回0
c、List数据,可以从左 或者从右插入添加
d、如果值全移除,对应的键也就消失了
Set(集合)基本介绍:
Redis的Set是string类型的无序集合,底层是Hash Table数据结构,Set也是存放很多字符串元素,字符串元素是无序的,而且元素的值不能重复
a、添加数据到集合中:sadd key member member member ... (member:成员)
b、从集合中取出所有数据:smembers key
c、判断值是否是成员:sismember key member
d、删除集合中指定的成员:srem key member
注意事项:
a、元素的值不能重复