Redis

 

1. Redis

https://github.com/microsoftarchive/redis

https://redis.io/

  ANSI-C语言编写的一个 key-value 存储系统,非关系型数据库

  数据之前没有关联关系,数据存储在内存中

  读写速度快

  所有操作都是原子性的,支持事务

 

  1.1 安装配置:

  下载解压即可

(1)windows服务方式运行

  在redis目录下执行:

redis-server  --service-install  redis.windows-service.conf   --loglevel  verbose  //安装服务
 
redis-server  --service-uninstall  //卸载服务

  在windows的服务页面中受手动启动或cmd启动:

redis-server.exe  --service-start  --service-name redis

 

(2)CMD启动,CMD关闭后,redis就关闭

redis-server  redis.windows.conf

 

  1.2 设置密码

  redis.windows-service.conf 和 redis.windows.conf 文件

  加上:  requirepass 密码

 

  1.3  连接redis

  在redis服务已经启动的前提下,另开一个CMD

redis-cli.exe -h localhost -p 6379

 

  1.4 windows下的使用

  直接运行 redis-server.exe启动服务器,运行redis-cli.exe启动客户端,然后在客户端操作即可

 

 

2.  数据类型

  键都是字符串,值可为如下五种:

  2.1 字符串string

  string可以包含任意二进制数据(如图片、序列化的对象)

存储:set key value
获取:get key
删除:del key

  2.2 哈希hash

  即值是键值对

存储:hset  key fileld1 value1 field2 value2
获取:
    获取指定字段的值:hget key field1  
   获取所有字段和值:hgetall key
删除:hdel key field1

  2.3 列表 list

  按插入顺序排序(链表),可插入元素到列表头部或尾部

存储:
    头部插入:lpush key value
    尾部插入:rpush key value
获取:
    获取弹出第一个:lpop key
    获取弹出最后一个:rpop key
    获取范围内:lrange key start end
列表长度:llen key
设置值:lset key index value

  2.4  集合 set

  无序、不重复集合

存储:
    添加一个:sadd key value
获取:
    获取所有:smembers key
删除:
    删除一个:srem key value1

  2.5 有序集合 zset

  有序、不重复集合

  基于哈希表。有序(每个元素关联一个double类型的数,通过这个数排序,这个数可以重复)

存储:
    添加元素:zadd key score1 value1 score2 value2
获取:
    获取范围:zrange key start end
删除:
    删除一个:zrem key value1

 

----

  其它命令:

查看所有键:key *
查看该键的值的类型:type key
删除指定的键:del key

 

3. 事务

 

4. 持久化

  4.1 rdb:默认方式

  在一定时间间隔中,检测到key的变化,然后持久化数据

(1)redis.windows.conf(通过此加载此配置文件启动服务器)

save 900 1    #900s后至少有一个key变化,就持久化数据
save 300 10   #300s后至少有10个key变化,就持久化数据
save 60 10000 #60s后至少有10000个key变化,就持久化数据

  自动持久化尾dump.rdb文件,在服务器再次启动后,会自动还原数据

  4.2 aof

  日志记录的方式,记录每一条命令的操作,可在每一次命令操作后持久化数据

(1)redis.windows.conf

  

 

   设置为no,默认不开启aof方式,改成  yes 即开启aof持久化

  

  持久化方式:

    

 

  appendfsync always:每次操作都持久化

  appendfsync everysec:每隔一秒持久化一次

  appendfsync no :不进行持久化

 

你可能感兴趣的:(Redis)