Redis的安装与使用

一、安装Redis

github下载地址:https://github.com/MicrosoftArchive/redis/releases

第一步:下载下来,一路next就行,要注意的就是勾选添加path和勾选内存限制max memory

第二步:启动服务 redis-server  D:/tools/redis/redis.windows.conf    (自己文件安装目录)

第三步:注册服务到windows服务中 redis-server  --server-install redis.windows.conf

第四步:启动redis服务   redis-server --service-start

第五步:关闭服务  redis-server --service-stop

 

注:

  在一开始注册服务的时候可能会报错,可能是在安装时已经在windows服务中注册好了,所以可以检查一下windows的服务,或者直接跳过,试试关闭或启动服务

 

二、redis的核心配置选项

  redis 安装成功以后,window下的配置文件保存在软件 安装目录下,如果是mac或者linux,则默认安装/etc/redis/redis.conf

bind 127.0.0.1   // 绑定ip,如果需要远程访问,可以将这个ip换成一个真实ip

port 6379    //端口

daemonize   yes    // 是否以守护进程运行(主要是在linux和mac下需要配置),如果以守护进程运行,则不会在命令行阻塞,类似于windows的服务;r如果不以守护进程运行,则当前终端被阻塞 ;推荐设为yes

dbfilename  dump.rdb   //数据文件

logfile "c:/tool/redis/redis-server.log"     //日志文件

database  16      // 数据库,默认有16个

slaveof     //主从复制,类似于双机备份

 

三、使用

1、redis客户端连接服务器

redis-cli  -h  'redis服务器ip'  -p 'redis服务器port'

 

2、redis数据类型

 # string类型:

  字符串类型是 Redis 中最为基础的数据存储类型,它在 Redis 中是二进制安全的,也就是byte类型,最大容量为512M

  

如果设置的键不存在则为添加,如果设置的键已经存在则修改

1、设置键值:
    set key value
eg:   set name xiaoming

2、设置多个键值:
     mset key1 value1 key2 value2...
eg: mset a1 python a2 java a3 c

3、设置键值及保存数据有效期:
    setex  key seconds value
eg: setex name 3 xiaoming   #设置name的值为xiaoming,过期时间3秒

4、重设数据的有效期
      expire key time

5、追加值
    append key value
eg: append a1 haha

6、根据键获取值
    get key
eg: get name

7、获取多个值
    mget key1 key2 ...
eg: mget a1 a2 a3
键操作

1、查找键,参数支持正则表达式
    keys pattern  
eg: keys *     # 查看所有键
      keys a*    #查看名称中包含a的键

2、判断键是否存在,如果存在返回1,不存在返回0
    exists key1
eg: exists a1    #判断键a1是否存在

3、查看键对应的value的类型
    type key
eg: type a1

4、删除键及对应的值
    del key key2 ...
eg: del a2 a3

5、查看有效时间,以秒为单位
    ttl key
eg: ttl bb  #查看键bb的有效时间

 # hash类型:

hash用于存储对象,对象的结构为属性、值,值的类型为string。
        key:{
            域:值,
            域:值,            
            域:值,
            域:值,
            ...
        }

 

1、设置单个属性
    hset key field value
eg: hset user name xiaoming  #设置键user的属性name为xiaoming

2、设置多个属性
    hmset user key field1 value1 field2 value2 ...
eg: hmset u2 name xiaohong age 11  #设置键u2的属性name为xiaohong,age为11

3、获取指定键所有的属性
    hkeys u2

4、获取某个属性的值
    hget key field

5、获取多个属性的值
    hmget key field1 field2 ...
eg: hmget u2 name age  #获取键u2属性name,age的值

6、获取素有属性的值
    hvals key
eg: hvalus u2 #获取键u2所有属性的值

7、删除属性,属性对应的值会被一起删除
    hdel key field1 field2 ...
eg: hdel u2 age

# list类型:

  列表的元素类型为string。

  key:[ 值1,值2,值3.....]

1、在左侧插入数据
    lpush key value1 value2 ...
eg: lpush a1 a b c

2、在右侧插入数据
    roush key value1 value2 ...
eg: rpush a1 0 1

3、在指定元素的前或后插入新元素
    linsert key before/after 现有元素 新元素
eg: linsert a1 before b 3

4、设置指定索引位置的元素值
    lset key index value
eg: lset a 1 z   #设置键为a的列表中索引为1的元素的值为z

5、删除指定元素
将列表中前count次出现的值为value的元素移除
count > 0 :从头到尾移除
count < 0 :从尾到头移除
count = 0 :移除所有
lrem key count value
eg: lrem a2 -2 b  #从键为a2的列表有才开始删除2个b

6、根据键查看列表所有的元素
lrange a2 0 -1

 

 #   set类型:

  无序集合,元素为string类型,元素唯一不重复,没有修改操作。

 # zset类型:

  有序集合,元素为string类型,元素唯一不重复,没有修改操作。

1、添加元素
    sadd key member1 member2
eg: sadd a3 zhangsan lisi wangwu

2、返回素有的元素
    smembers key
eg: smembers a3

3、删除指定元素
    srem key member
eg: srem a3 wangwu  #删除键a3的集合中元素wangwu

 

四、针对redis中的内容扩展

  flushall 清空当前数据库中的所有数据

针对各种数据类型它们的特性,使用场景如下:

字符串string: 用于保存一些项目中的普通数据,只要键值对的都可以保存,例如,保存 session,定时记录状态

哈希hash:用于保存项目中的一些字典数据,但是不能保存多维的字典,例如,商城的购物车

列表list:用于保存项目中的列表数据,但是也不能保存多维的列表,例如,队列,秒杀,医院的挂号

无序集合set:用于保存项目中的一些不能重复的数据,可以用于过滤,例如,投票海选的时候,过滤候选人

有序集合zset:用于保存项目中一些不能重复,但是需要进行排序的数据,分数排行榜.

 

五、关于redis的几个站点地址

中文官网: http://www.redis.cn/

英文官网:https://redis.io

参考命令:http://doc.redisfans.com/

 

posted @ 2019-03-22 21:09  南辕北辙的天空  阅读(223)  评论(0编辑  收藏  举报