Welcome to li chao's blog

若逢新雪初霁,满月当空,下面平铺着皓影,上面流转着亮银,而你带笑地向我步来,月色与雪色之间,你是第三种绝色!

redis 基础

redis

    1、redis是一种nosql数据库,他的数据是保存在内存中,同时redis可以定时把内存数据同步到磁盘,即可以将数据持久化,并且他比memcached支持更多的数据结构、

    2 、redis  属于 非关系型数据库  

redis和memcached的比较

 

memcached

redis

类型

纯内存数据库

内存磁盘同步数据库

数据类型

在定义value时就要固定数据类型

不需要

虚拟内存

不支持

支持

过期策略

支持

支持

存储数据安全

不支持

可以将数据同步到dump.db中

灾难恢复

不支持

可以将磁盘中的数据恢复到内存中

分布式

支持

主从同步

订阅与发布

不支持

支持

 

 

持久化

         redis提供了两种数据备份方式,一种是RDB,另外一种是AOF。

   RDB:RDB持久化是指在指定的时间间隔内将内存中的数据集快照写入磁盘。 也是默认的持久化方式,这种方式是就是将内存中数据以快照的方式写入到二进制文件中,默认的文件名为dump.rdb。可以通过配置设置自动做快照持久化的方式。

   AOF:AOF持久化策略是将发送到Redis服务端的每一条命令都记录下来,并且保存到硬盘中的AOF文件中,类似打日志文件,来一条命令就记录一条。

操作系统:CentOS7.5

redis 版本:redis-5.0

1>下载

wget http://download.redis.io/releases/redis-5.0.0.tar.gz

 

2>解压到指定目录

 

3>进入到解压后的目录进行编译   ( 需要用到 gcc  gcc-++  yum 可以安装) 

 

4>安装

5>进入安装好的redis目录

 

6>添加到环境变量

 

这我已经添加一次了

6>启动

注:一定要加& 让它在后端运行,不然会在前端一直hang住

#查看端口

redis 的端口为  6379

 

#补充 关闭redis

 

7>连接上 redis-server

redis-cli -p 6379   -h127.0.0.1

 

#

 

8>添加 set key  value    (字符串)

将value 值 关联到 key  ( 如果 value 已存在,将覆盖旧值,默认过期时间为永久)

 

9>取 key 下的 value    (  get  key)

 

10>删除   key( del key)

 

11>设置过期时间

 

12>查看过期时间

 

13>查看所有的key

 

14>切换数据库

redis 默认有16 个数据库。

 select  index      ( 0 -- 15)

15>列表

&1在列表左边添加值   (会显示上面)

lpush  key  value    因为是列表, value 可以是多个,

 

#rpush key value

在列表右边添加值 (会显示在下面)

 

&2查看

lrange  key  start stop 

lrange   students   0  -1    (  -1  最后 )  ( 0 开始)       查看所有 

 

&3>查看列表中有几个元素 (key中)

llen  key

llen  students

 

&4>取列表中的值

lindex key  index

lindex  students  2

 

&5>删除列表中的值

lrem   key  count  value

lrem   students  2  lijie

 

列表只有一个lijie ,所以只删掉了一个

16>集合

&1>添加元素

sadd   key  member     (自动去重)

sadd    name  lijie lige lijie  

 

&2> 查看元素

smembers  key

smembers  name

 

&3>删除元素

srem  key  member

serm  name  lijie

 

&4>查看集合中多少元素

scard  key

 

&5>查看两个集合的交集

sinter  key1  key2

sinter  name2 name3  

 

&6> 查看两个集合并集

sunion  key1 key2

sunion  name2 name3

 

&7>查看两个集合的差集

sdiff  key1 key2

sdiff  name2 name3

 

17>哈希操作 (字典套字典)

&1>添加一个新值

hest  key field value   ( field  相当于 key 里面的key)

hest  lijie   age  23

hest   lijie   high  170

hest  lijie mariadb - 索引.note   gender  man

 

&2>获取哈希中 filed 中的值

hget  lijie age

hget lijie  high

 

 lijie&3>删除  哈希中 key 里的 field

 hdel   age

注:可以删除多个  filed

&4>获取某个哈希中所有 fleld 和 value

hgetall   key

 

&5>获得某个哈希中的所有field

hkeys   key

 \

&6>判断哈希中是否存在某个field

hexists  key   field

hexists  lijie  age

 

&7>获取哈希中总共的键值对

hlen  key

hlen  lijie

 

posted on 2019-06-01 20:27  lichaoyx  阅读(192)  评论(0编辑  收藏  举报

导航