redis入门和基本应用

1.redis的五种存储结构

  1. 字符类型

  2. 散列类型

  3. 列表类型

  4. 集合类型

  5. 有序集合

2.redis的应用场景

  1. 数据缓存(商品数据、新闻、热点数据)

  2. 单点登录

  3. 秒杀、抢购

  4. 网站访问排名…

  5. 应用的模块开发

3.redis的安装和基本文件说明

  1. 下载redis安装包

  2. tar -zxvf 安装包

  3. 在redis目录下 执行 make

  4. 可以通过make test测试编译状态

5.make install [prefix=/path]完成安装

./redis-server …/redis.conf

./redis-cli shutdown

以后台进程的方式启动,修改redis.conf daemonize =yes

连接到redis的命令

./redis-cli -h 127.0.0.1 -p 6379

Redis-server 启动服务

Redis-cli 访问到redis的控制台

redis-benchmark 性能测试的工具

redis-check-aof aof文件进行检测的工具

redis-check-dump rdb文件检查工具

redis-sentinel sentinel 服务器配置

默认支持16个数据库;可以理解为一个命名空间

跟关系型数据库不一样的点

  1. redis不支持自定义数据库名词

  2. 每个数据库不能单独设置授权

  3. 每个数据库之间并不是完全隔离的。 可以通过flushall命令清空redis实例面的所有数据库中的数据

通过 select dbid 去选择不同的数据库命名空间 。 dbid的取值范围默认是0 -15

4.字符类型的数据操作

SET key value

GET key

incr key 该key所存入的值必须为数字,可以为字符串类型的数字,每调用一次会进行一次累加,为原子性操作

decr key 原子递减

–下面这种方法进行累加操作时候会产生线程安全问题

int value= get key;

value =value +1;

set key value;

append key value 可以向指定的key追加一个value

strlen key 获得字符串对应的长度

mget/mset key ···· 可以同时获取/设置多个key

setnx key value 如果该key存在则会返回0,并不会更改原来的value,如果不存在则会创建该key和value

5.列表类型的数据操作

lpush key value 从左边开始添加数据

rpush key value 从右面开始添加数据

lpop key 从左面开始弹出一个数据,该数据会从列表中移除

rpop key 从右面开始弹出一个数据,该数据会从列表中移除

可以实现分布式队列

llen key 获得列表的长度

lrange key 0 5 表示从左边开始取出第一个到第六个元素,如果,第二个参数传-1就表示从左面取到右面第一个

lrem key count value 删除列表中的指定元素 count代表要删除的个数 value表示列表中的值

6.散列类型的数据操作

散列类型不支持数据的嵌套,比较适合存储对象

hset key field value 例如hset person age 19 ,hset person name lex 之类的 相当于对象的存储

hget key field 获取散列中的值

hmset key filed value [filed value …] 一次性设置多个值

hmget key field field … 一次性获得多个值

hgetall key 获得hash的所有信息,包括key和value

hexists key field 判断字段是否存在。 存在返回1. 不存在返回0

hdel key field [field …] 删除一个或者多个字段

7.集合类型的数据操作

set 跟list 不一样的点。 集合类型不能存在重复的数据。而且是无序的

sadd key member [member …] 增加数据; 如果value已经存在,则会忽略存在的值,并且返回成功加入的元素的数量

srem key member 删除元素

smembers key 获得所有数据

sdiff key key … 对多个集合执行差集运算

sunion 对多个集合执行并集操作, 同时存在在两个集合里的所有值

8.有序集合

zadd key score member 其中score表示该元素在集合中的优先级,通过score的大小来决定元素在和中的排序

zrange key start stop [withscores] 去获得元素。 withscores是可以获得元素的分数

如果两个元素的score是相同的话,那么根据(0<9<A<Z<a<z) 方式从小到大

网站访问的前10名。

9.redis事务操作

MULTI 去开启事务

EXEC 去执行事务

10.给redis中的key设置过期时间

expire key seconds

ttl 获得key的过期时间,若果返回值为-1则说明没有设置过期时间

11.发布订阅

publish channel message 一端创建一个发布消息的频道队列

subscribe channel [ …] 另一端订阅该频道之后便可以实时收到队列中的消息

猜你喜欢

转载自blog.csdn.net/qq_36258498/article/details/84628111