Redis简介 以及基本数据类型String

Redis简介

redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hash(哈希类型)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。在此基础上,redis支持各种不同方式的排序。与memcached一样,为了保证效率,数据都是缓存在内存中。区别的是redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步。

windows下载

官网不支持windows版本 没有下载选项
但是微软团队在维护windows的redis

下载链接: 
https://github.com/MicrosoftArchive/redis/releases

Redis简介 以及基本数据类型String_第1张图片
下载完成后解压
Redis简介 以及基本数据类型String_第2张图片
双击redis-server.exe出现如下界面
Redis简介 以及基本数据类型String_第3张图片
再双击redis-cli.exe 输入ping 出现 PONG 表示成功
Redis简介 以及基本数据类型String_第4张图片

linux服务端启动

sudo /etc/init.d/redis-server status | start | stop | restart

redis 附加功能

1、持久化

将内存中数据保存到磁盘中,保证数据安全,方便进行数据备份和恢复

2、过期键功能

为键设置一个过期时间,让它在指定时间内自动删除

3、节省内存空间

音乐播放器,日播放排名,过期自动删除

4、事务功能

原子的执行多个操作

5、主从复制

6、Sentinel哨兵

字符串类型特点

1、字符串、数字,都会转为字符串来存储
2、以二进制的方式存储在内存中

列表数据类型特点

1、元素是字符串类型
2、列表头尾增删快,中间增删慢,增删元素是常态
3、元素可重复
4、最多可包含2^32 -1个元素
5、索引同python列表

Hash数据

1、由field和关联的value组成的键值对
2、field和value是字符串类型
3、一个hash中最多包含2^32-1个键值对

优点

节省内存:字段小于512个value不可超过64字节

缺点:

存储消耗大于字符串结构

集合数据类型

1、无序、去重
2、元素是字符串类型
3、最多包含2^32-1个元素

五大数据类型应用场景

字符串:常规计数(微博数粉丝数)
hash:存储部分需要可能变更的信息(用户信息)
list : 消息队列
set:存储并计算关系(微博关注人,共同关注,共同爱好)
sortedset 各种排行榜

事务

mult 开启事物
exec 提交事物
discard 取消事物

有序集合

1、有序、去重
2、元素是字符串类型
3、每个元素都关联着一个浮点数分值(score),并按照分值从小到大的顺序排列集合中的元素(分值可以相同)
4、最多包含2^32-1元素
切换库(number的值在0-15之间,db0 ~ db15)

Redis基本语法

select number 切换库 [number是库名]
redis中有16个库 **0-15**

Redis简介 以及基本数据类型String_第5张图片

keys 表达式 # keys *
 代表查找当前库所有的键 key 键 查找指定的键 
 这里我创建了一个键为 is_key

Redis简介 以及基本数据类型String_第6张图片

键的数据类型

type key如果没有键会显示none

在这里插入图片描述
在这里插入图片描述

键是否存在 exists key

[key]表示键名 
存在返回 (integer) 1 不存在返回 (integer) 0

Redis简介 以及基本数据类型String_第7张图片

删除键
del key
在这里插入图片描述

键重命名
rename key newkey

key表示旧键名 newkey表示新键名

Redis简介 以及基本数据类型String_第8张图片

清除当前库中所有数据 (慎用)!!!
flushdb
清除所有库中所有数据**(慎用)!!!**
flushall

字符串使用
set key value

设置一个字符串类型的redis数据 key为键 value为值
这里我设置了一个键为is_key 值为abc

在这里插入图片描述

get key

获取一个键的值
这里我设置了一个键为is_key值为abc

在这里插入图片描述

set key value nx

当键不存在时才会创建 可以看到is_key已经存在不会创建成功

Redis简介 以及基本数据类型String_第9张图片

set key value ex 过期时间

这里我设置了一个is_del 过期时间为10秒

Redis简介 以及基本数据类型String_第10张图片

mset k1 v1 k2 v2

string也可以设置多个键值 
 K1代表第一个键 v1代表第一个值
 K2代表第二个键 v2代表第二个值

Redis简介 以及基本数据类型String_第11张图片

mget k1 k2

获取多个键的值

Redis简介 以及基本数据类型String_第12张图片

后续章节持续更新

列表 Hash(哈希) 有序集合 无序集合

你可能感兴趣的:(redis,redis,缓存,数据库,青少年编程)