1、Redis的概念(来自菜鸟教程)

Redis 是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据库。

Redis 与其他 key - value 缓存产品有以下三个特点:

Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。
Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。
Redis支持数据的备份,即master-slave模式的数据备份。
Redis 优势
性能极高 – Redis能读的速度是110000次/s,写的速度是81000次/s 。
丰富的数据类型 – Redis支持二进制案例的 Strings, Lists, Hashes, Sets 及 Ordered Sets 数据类型操作。
原子 – Redis的所有操作都是原子性的,意思就是要么成功执行要么失败完全不执行。单个操作是原子性的。多个操作也支持事务,即原子性,通过MULTI和EXEC指令包起来。
丰富的特性 – Redis还支持 publish/subscribe, 通知, key 过期等等特性。
Redis与其他key-value存储有什么不同?
Redis有着更为复杂的数据结构并且提供对他们的原子性操作,这是一个不同于其他数据库的进化路径。Redis的数据类型都是基于基本数据结构的同时对程序员透明,无需进行额外的抽象。

Redis运行在内存中但是可以持久化到磁盘,所以在对不同数据集进行高速读写时需要权衡内存,因为数据量不能大于硬件内存。在内存数据库方面的另一个优点是,相比在磁盘上相同的复杂的数据结构,在内存中操作起来非常简单,这样Redis可以做很多内部复杂性很强的事情。同时,在磁盘格式方面他们是紧凑的以追加的方式产生的,因为他们并不需要进行随机访问。

2、安装Redis

windows操作系统访问链接下载对应的版本,解压后双击目录中的redis-server.exe打开后挂后台。再打开redis-cli.exe进行自动连接后即可开始使用命令操作
Linux安装请自行百度

3、命令操作

1、redis的数据结构:
redis存储的是:key,value格式的数据,其中key都是字符串,value有5种不同的数据结构:

  • 1)字符串型 string
  • 2)哈希类型 hash:map格式
  • 3)列表类型 list:linkedlist格式。支持重复数据
  • 4)集合类型 set:不允许数据重复
  • 5)有序集合类型 sortedset:不允许重复元素,且元素有顺序

2、键 key

  • 1)判断key是否存在:exists key
  • 2)修改key的名称:rename key newname
  • 3)当key不存在时修改key的名称:renamenx key newname
  • 4)查询所有key:key *
  • 5)获取key类型:type key
  • 6)删除指定的ke的value:del key

3、字符串类型 string

  • 1)存储:set key value
  • 2)获取:get key
  • 3)删除:del key

4、哈希类型 hash

  • 1)存储:hset key field value
  • 2)获取:hget key field
  • 3)删除: hdel key field
  • 4)获取所有键值:hgetall key
  • 5)查看哈希表key中,指定的字段是否存在:hexists key field

5、列表类型 list

  • 1)添加到列表前面:lpush key value
  • 2)添加到列表前面:rpush key value
  • 3)获取列表指定范围内的元素:lrange key start end,获取所有元素lrange key 0 -1
  • 4)删除列表头部的元素并返回:lpop key
  • 5)删除列表尾部元素并返回:rpop key

6、集合类型 set

  • 1)向集合添加一个或多个成员:sadd key file1 file2 …
  • 2)获取集合的成员数:scard key
  • 3)返回给定所有集合的差集:sdiff key1 key2 …
  • 4)返回给定所有集合的差集并存储到指定key中:sdiffstore des key1 key2 …
  • 5)返回给定所有集合的交集:sinter key1 key2 …
  • 6)返回给定所有集合的交集并存储到指定key中:sinterstore des key1 key2 …
  • 7)获取集合所有元素:smembers key
  • 8)删除某个集合中的某个元素:srem key value

7、有序集合类型 sortedset

  • 1)存储:zadd key score value:score越小越前面
  • 2)获取:zrange key start end
  • 3)删除:zrem key value

4、持久化操作

1、redis是一个内存数据库,当redis服务器重启,数据会丢失,我们可以将redis内存中的数据持续化保存在硬盘的文件中。


2、redis持久化方式:
1):RDB:默认方式,不需要进行配置,默认就使用这种机制
在redis目录中有一个redis.windows.conf文件打开后往下滑可以找到这三行配置
save 900 1:每900秒有1个键发生改变就保存一次
save 300 10:每300秒有10个键发生改变就保存一次
save 60 10000:每60秒有1w个键发生改变就保存一次
可以根据服务器和需求进行修改
然后需要使用命令行启动
redis-server.exe redis.windows.conf即可
RDB持久化会在目录中创建一个.rdb的文件保存数据

2)、AOF:日志记录模式,可以记录每一条命令的操作。可以每一次命令操作后,持续化数据
在redis目录中有一个redis.windows.conf文件打开后往下滑找到这个配置行appendonly no把no改yes就是开启aof模式默认关闭
继续找到这三行配置
# appendfsync always:每一次操作都进行一次持久化
appendfsync everysec:每个一秒执行一次持久化
# appendfsync no:不进行持久化
需要使用哪个把前面的#删除并把其他两个配置前面加上#
然后需要使用命令行启动
redis-server.exe redis.windows.conf即可
AOF持久化会在目录中创建一个.aof的文件保存数据