Redis是一个开源(BSD许可)的,是单线程的,基于内存操作,Redis将所有的数据全部放到内存中,它可以用作数据库、缓存和消息中间件。cpu不是redis性能瓶颈,他的瓶颈是根据机器的内存和网络带宽。

一、Redis的启动和关闭

1、redis-server config/redis.conf    启动redis服务端

redis 入门培训PPT redis基础知识_java

2、redis-cli -p 6379   启动redis客户端

redis 入门培训PPT redis基础知识_redis 入门培训PPT_02

3、 shutdown   关闭redis的服务

redis 入门培训PPT redis基础知识_nosql_03

4、exit      退出redis服务

redis 入门培训PPT redis基础知识_nosql_04

5、 ps -ef | grep redis  查看reids的进程

redis 入门培训PPT redis基础知识_java_05

二、Redis常用的命令

1、set  在该数据库下设置值

redis 入门培训PPT redis基础知识_redis_06

2、get 在该数据库下获取值

redis 入门培训PPT redis基础知识_redis_07

3、keys  查看数据库所有的key

redis 入门培训PPT redis基础知识_redis 入门培训PPT_08

4、del 在该数据库下删除值

redis 入门培训PPT redis基础知识_redis 入门培训PPT_09

5、select    切换到1号数据库 redis默认由16个库(0~15号). 且默认使用的是0号库)

redis 入门培训PPT redis基础知识_redis_10

6、dbsize  查看当前数据库的存在的数据个数

redis 入门培训PPT redis基础知识_java_11

7、flushall  清空全部数据库

redis 入门培训PPT redis基础知识_java_12

8、flushdb  清空当前数据库

redis 入门培训PPT redis基础知识_1024程序员节_13

9、exists  判断当前key是否存在

redis 入门培训PPT redis基础知识_redis_14

10、 move 在本数据库中将key移除  1代表当前的数据库

redis 入门培训PPT redis基础知识_java_15

11、move 在本数据库中将key移除到其他数据库  7代表将要移到的数据库

redis 入门培训PPT redis基础知识_1024程序员节_16

12、expire  设置当前key的过期时间   3代表3秒后过期,过期后再次查询就没有了

redis 入门培训PPT redis基础知识_redis_17

13、ttl   (time to live) 查看key的剩余过期时间

redis 入门培训PPT redis基础知识_redis 入门培训PPT_18

14、type  查看当前key的类型

redis 入门培训PPT redis基础知识_nosql_19

 

三、Redis常用的5大数据类型

1、String字符串

1)append name hello  将hello追加到key为name的value值上,并返回当前value值的长度

redis 入门培训PPT redis基础知识_1024程序员节_20

2)append sex 1  在追加value值的时候,如果当前key不存在的时候,自动创建key,并给value赋值

redis 入门培训PPT redis基础知识_nosql_21

3)strlen name    获取当前key的字符串长度

redis 入门培训PPT redis基础知识_redis 入门培训PPT_22

4)incr  key   当前key的值自增1

redis 入门培训PPT redis基础知识_1024程序员节_23

5)decr key   当前key的值自减1

redis 入门培训PPT redis基础知识_redis 入门培训PPT_24

 6)incrby key 10  当前key的value值每次增加10,步长为10

redis 入门培训PPT redis基础知识_redis_25

7)decrby key 4 当前key的value值每次减少4,步长为4

redis 入门培训PPT redis基础知识_java_26

8)getrange   key  0   5   查找范围值,查找当前key的从0到5的value值

redis 入门培训PPT redis基础知识_redis_27

9)getrange  key 0 -1  获取当前key的全部的字符串,和get一样

redis 入门培训PPT redis基础知识_nosql_28

10)setrange key 1 w  将当前key的vaule值下标为1的值替换成w

redis 入门培训PPT redis基础知识_java_29

11)setex(set with expire) key 30 hello  设置过期时间,设置key的值为hello,过期时间为30秒

redis 入门培训PPT redis基础知识_redis 入门培训PPT_30

12)setnx(set if not exist)key  mmm  当前key不存在再设置,如果设置成功会返回1,如果不存在会返回0,value值不会改变。在分布式锁中会常常使用。是一个原子性的操作,要么一起成功,要么一起失败。

redis 入门培训PPT redis基础知识_redis_31

13)mset  key1 value1 key2 value2  一次设置多个值  

redis 入门培训PPT redis基础知识_redis 入门培训PPT_32

14)mget  key1  key2   一次设置多个值  

redis 入门培训PPT redis基础知识_redis_33

15)set  user:1  {name:zhangsan,age:22} 设置对一个对象 key为user:1 ,value值为json字符来保存一个对象

redis 入门培训PPT redis基础知识_nosql_34

16)mset user:2:name lisi user:2:age 23  设置对一个对象 key为对象的多个user:{id}:{filed}

redis 入门培训PPT redis基础知识_nosql_35

17)getset db redis  先设置一个值然后在获取这个值  如果值不存在就返回nil,get时可以获取到刚刚set的value值

redis 入门培训PPT redis基础知识_1024程序员节_36

18)getset db mongodb  先设置一个值然后在获取这个值  如果值存在就返回之前的value值,get时可以获取到刚刚set的value值

redis 入门培训PPT redis基础知识_java_37

使用场景:string中的value出来字符串还可以是数字,一般我们用来计数器、统计多单位的数量、粉丝数、对象缓冲存储。

2、List列表

1)lpush   将一个值或者多个值插入到表头部(左),并返回当前列表的长度

redis 入门培训PPT redis基础知识_redis_38

2)lrange  获取列表中的值,也可以获取区间内的具体值

redis 入门培训PPT redis基础知识_redis 入门培训PPT_39

3)rpush   将一个值或者多个值插入到表尾部(右),并返回当前列表的长度

redis 入门培训PPT redis基础知识_1024程序员节_40

4)lpop list   移除list从头部开始的第一个元素,返回移除的元素

redis 入门培训PPT redis基础知识_redis 入门培训PPT_41

5)rpop list   移除list从尾部开始的第一个元素,返回移除的元素

redis 入门培训PPT redis基础知识_java_42

6)llen list  返回当前list的长度

redis 入门培训PPT redis基础知识_redis 入门培训PPT_43

7)lindex list 0  获取list中下标为0的值

l

redis 入门培训PPT redis基础知识_nosql_44

8)lrem  key  count  value    移除指定的值,也可以移除多个指定的值 

redis 入门培训PPT redis基础知识_redis 入门培训PPT_45

9)ltrim  key  start stop  通过下标截取指定的长度,这个list已经被改变了,截断了只剩下的元素

redis 入门培训PPT redis基础知识_redis 入门培训PPT_46

10)rpoplpush list list1    移除列表的最后一个元素,将他移动到新的列表中

redis 入门培训PPT redis基础知识_nosql_47

11) exists  key   判断这个列表是否存在,存在返回1,不存在返回0

redis 入门培训PPT redis基础知识_redis_48

12)lset   key  index value   将列表中指定下标的值替换为另外一个值,更新操作