Redis笔记

1. 安装

window下安装:下载地址

 https://github.com/MSOpenTech/redis/releases

选择64位的ZIP压缩包点击下载,下载完成后解压,并将解压后的文件夹重命名为redis,方便后面使用

 

1、使用cmd命令行进入解压后的redis目录

2、在redis目录下 运行redis-server redis.windows.conf,启动redis服务,此时当关闭命令窗口redis服务也会关闭,其中后面的redis.window.conf可以省略

 

3、可以将redis服务安装成windows服务,在redis目录下的命令窗口输入:redis-server --service-install redis.windows.conf即可

 

4、查看服务是否配置成功,右键计算机—管理—服务,查找是否有Redis服务,如果启动,代表windows上的redis服务已经配置成功,redis服务已经启动。

2.Redis命令

不关闭刚才的doc窗口,重新打开一个新的doc窗口,启动本机Redis客户端:redis–cli ,此命令连接到本机的Redis服务,同时用PING命令检测本机Redis服务是否启动

连接远程Redis服务: redis–cli –h host –p port –a “password” 其中host为远程主机IP地址 Port为远程Redis服务端口号 Password为远程Redis服务密码

例子连接了127.0.0.1的6379端口的Redis服务,密码为1234,其实也就是本机的Redis服务

用客户端连接了redis服务之后,就可以在当前命令行里使用redis命令来操作redis数据库了 

3.Redis数据类型

Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(有序集合)。     

  1. String(字符串)(最常用) string是redis最基本的类型,是二进制安全的。意思是redis的string可以包含任何数据。比如jpg图片或者序列化的对象 。 string类型是Redis最基本的数据类型,一个键最大能存储512MB。
  2. Hash(哈希)(常用) Redis hash 是一个键值(key=>value)对集合。 Redis hash 是一个 string 类型的 key和 value 的映射表,hash 特别适合用于存储对象,相当于java中的Map集合。
  3. List(列表) Redis 列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素到列表的头部(左边)或者尾部(右边)。 列表最多可存储 232 - 1 元素 (4294967295, 每个列表可存储40多亿)。
  4. Set(集合) Redis的Set是string类型的无序集合。 集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是O(1)。
  5. zset(sorted set:有序集合)(了解) Redis zset 和 set 一样也是string类型元素的集合,且不允许重复的成员。 不同的是每个元素都会关联一个double类型的分数。redis正是通过分数来为集合中的成员进行从小到大的排序。 zset的成员是唯一的,但分数(score)却可以重复。

4.Redis键命令

在关系型数据库中,各种数据库都有自己对应操作命令,一般而言都是通用的SQL语句,在redis中,也有一套专用的“SQL”语句,我们一般称其为redis命令。

例如:     在mysql中想要查询某张表的数据           Select * from tablename     tablename为表名     在redis中想要查询某个key存储的数据         Get  keyname              keyname为key名

Redis中有5种支持的数据类型,针对不同的数据类型,Redis有不同的操作命令,接下来将会一一介绍。

SET keyname value

新建一个键值对,keyname为键名,value为存储的值

DEL keyname

删除一个已存在的key,keyname为键名,成功返回1,失败返回0

EXISTS keyname

判断一个key是否存在,keyname为键名,

RENAME key newkey

重命名一个已存在的key,key为原来的键名,newkey为新键名

EXPIRE key seconds

给一个已存在的key设置过期时间,key为键名,seconds为秒数

PERSIST keyname

移除key的过期时间,key将永久保持,keyname为键名

TTL keyname

以毫秒数返回key的剩余时间,keyname为键名

RANDOMKEY 

从当前数据库随机返回一个key

示例:存入一个key-value,key为“testKey”,value为“testValue”,最后再根据key从redis里查出数据。

 5.Redis字符串命令

SET keyname value

设置一个键值对,keyname为键名,value为存储的值

GET keyname

获取指定key对应的值,keyname为键名

GETSET keyname value

将指定key的值设为value,同时返回该key原来的旧值

MGET key1 key2…..

获取所有给定key的值

GETRANGE key start end

获取指定key里的截取字符串,start为起始位置,end为结束位置

STRLEN keyname

获取指定key里存储字符串的长度

INCR keyname

给指定key里存储的数字增1

APPEND keyname value

给指定key里存储的字符串末尾追加value

6.Redis哈希(hash)命令

HMSET key field1 “value1”…

同时将多个 field-value (域-值)对设置到哈希表 key 中

HDEL key field1 field2…..

删除指定key哈希表的一个或者多个字段,key为哈希表的键,field1为哈希表里的字段名

HEXISTS key field

查看指定key的哈希表内是否存在field字段

HGET key field

获取指定key的哈希表内的field字段存储的值

HGETALL key

获取指定key的哈希表的所有字段和值

HKEYS key

获取指定key的哈希表中所有的字段

HMGET key field1 field2…

获取指定key的哈希表中所有指定字段的值

HVALS key

获取指定key的哈希表中所有的值

7.Redis列表(List)命令

LPUSH key value1 value2…

同时将一个或多个值插入到列表头部,设定的key即为列表的键

LPUSH key value1 value2…

同时将一个或多个值插入到已存在的key对应的列表头部

LPOP key

移出并获取指定key的列表中的第一个元素

LINDEX key index

通过索引获取指定key的列表中的元素,index从0开始

LRANGE key start stop

通过索引获取指定key的列表中某个范围的元素

RPOP key

移出并获取指定key的列表中最后一个元素

LREM key count value

移出指定key的列表中,与value相等的元素 count>0 从表头开始搜索;count<0 从表尾开始搜索;count=0 移出所有与value相等的元素

LTRIM key start stop

截取指定key的列表中的部分元素

8.Redis集合(Set)命令

SADD key m1 m2…

向集合添加一个或多个成员

SCARD key

获取指定key对应的集合内的成员数

SINTER key1 key2

获取所有给定集合的交集

SISMEMBER key member

判断member元素是否是集合key的成员

SMEMBERS key

返回集合中的所有成员

SPOP key

返回并移出集合中的一个随机元素

SREM key member1 member2

移除集合中一个或多个成员

9.Redis缓存特性

为什么要用Redis当作缓存容器?

  • 性能高  – Redis能读的速度是110000次/s,写的速度是81000次/s ,而关系型数据库MYSQL读写速度仅为2000次/s左右。
  • 数据类型丰富  – Redis支持二进制安全的 Strings, Lists, Hashes, Sets 及 Ordered Sets 数据类型操作
  • 原子性   – Redis的所有操作都是原子性的,意思就是要么成功执行要么失败完全不执行。单个操作是原子性的。多个操作也支持事务,即原子性,通过MULTI和EXEC指令包起来。
  • Key过期  – Redis还支持 publish/subscribe通知订阅模式, key 过期等等特性。
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值