Redis的安装简介及基本的使用

一、Redis的简介

1、Redis--REmote DIctionary Server(远程字典服务器)

2、Redis是一个使用ANSI  C语言编写的开源数据库

3、高性能的key-value数据库

4、内存数据库,支持数据持久化(将内存数据导出到硬盘上)

5、Redis 提供了java, C/C++, C#, PHP, JavaScript, Perl, Object-C, Python, Ruby, Erlang等客户端

6、从2010年3月15日起,Redis的开发工作由VMware主持

7、从2013年5月开始,Redis的开发由Pivotal赞助


二、Redis网址

1、Redis官网:  https://redis.io

2、Redis中国官网:  http://redis.cn


三、Redis的常用类型

数据类型(type)-->string, hash, list, set, sorted set

编码方式(encoding)-->raw, int, ht, zipmap, linkedlist, ziplist, intset

数据指针(ptr)

虚拟内存(vm)

其他信息


四、Redis开发语言的客户端介绍(网址)

1、Redis官网:https://reids.io/clients

2、Redis中国官网:http://redis.cn/clients.html


五、Redis版本下载

1、Linux:

    Redis2.8.0.tar.gz

    http://download.redis.io/releases/

2、Windows:

    Redis-x64-2.8.2402

    由Microsoft Open Tech Group维护

    https://github.com/MicrosoftArchive/redis


六、Redis安装

Windows下载完成后解压就可以使用


七、Redis单实例配置

1、Redis.conf配置文件

2、Port端口

3、Requirepass密码

4、Masterauth主从同步中在slave配置master的密码


八、Redis单实例服务端,客户端启动及关闭

1、启动redis服务端

    Redis-server

    Redis-server ${redis.conf}:添加配置文件

    Redis-server --port ${port} :添加端口号

2、启动redis客户端

    Redis-cli

    Redis-cli -p ${port}:服务端添加端口号客户端也需要添加

    Redis-cli -h ${ip}:添加ip

    Redis-cli -a ${password}:配置文件加入密码,客户端需要添加密码

    Redis-cli -p ${port} -h ${ip} -a ${password} :加入端口号,ip和密码

3、关闭客户端

    Redis-cli shutdown(默认关闭6379端口)

    Redis-cli -p ${port} shutdown:加入端口号

    Redis-cli -h ${ip} shutdown:加入ip

    Redis-cli -p ${port} -h ${ip} shutdown:加入端口号和ip


九、Redis单实例环境验证

1、执行ping命令

2、执行redis set 和 get 命令检测一下


十、Redis的基本操作

1、打开服务端redis-server.exe

2、打开客户端redis-cli.exe

3、关闭客户端,并将文件保存到磁盘中:redis-cli shutdown

4、-p(端口,默认的端口是6379)  -h(ip,默认的IP是127.0.0.1)  -a(密码,默认没有密码)

5、测试服务是否成功:  ping 返回 PONG

6、终止命令 Ctrl + c

7、添加密码:  requirepass 密码

8、主从:  masterauth 密码

9、命名空间默认为0, 共有16个,如果想要切换空间可以:select value(例 select 1)


十一、Redis系统级基础命令

1、查看版本信息:info

    Keyspace(相当于数据库,默认含有16个数据库)

2、清除当前空间:flushdb

3、清除所有空间:flushall

4、查看key的数量:dbsize

5、人工保存到磁盘:save

6、退出链接:quit


十二、Redis的键命令

1. 删除:del key

2. 判断是否含有某key值:exists key

3. 剩余过期时间:ttl key

    返回: -1 永久 

            -2 不存在

    设置过期时间:expire key time(s:秒)

4. 返回key的类型:type key

5. 随机返回key值:randomkey

6. 重命名key:  rename  oldkey  newkey

    覆盖已经存在的key值

    不去校验是否已经存在key

7. 重命名key:  renamenx  oldkey  newkey

    校验已经存在的key,如果存在返回0,不存在继续重命名的操作


十三、五种数据结构

1、String字符串(nx结尾的命令会进行一些判断)

1. 设置: set key value

2. 设置:setnx key value

    验证是否含有想要设置的key,如果有,则不能成功设置,返回0如果没有,则设置成功,返回1

3. 设置有效期的String(秒):  setex key time(s) value

4. 设置有效期的string(毫秒):  psetex key time(ms) value

5. 获取:get key

6. 获取value的区间值:getrange key index index (下标从0开始)

7. 先获取再设置:getset key value

    先获取key的值,再进行设置,并且返回oldvalue(旧值)

8. 同时设置多个值:mset key1 value1 key2 value2

9. 同时设置多个值:msetnx key1 value1 key2 value2

    验证是否含有想要设置的key,如果有,则不能成功设置,返回0如果没有,则设置成功,返回1

    Msetnx具有事务的原子性

10. 同时获取多个值:mget key1 key2

11. 获取key值得长度:strlen key

12. 追加字符串:append key addValue

    在key原来value的基础上,在末尾加上addValue

13. 操作数值加一:incr key(数值类型)

    increase

14. 操作数值加想要的步长:incrby key count(想要每次增加的数量)

15. 操作数值减一:decr key(数值类型)

    decrease

16. 操作数值减想要的步长:decrby key count(每次想要减少的数量)


2、哈希hash

1. 设置:hset key1 key2 value(例:hset map name laowang)

2. 设置(检查):hsetnx key1 key2 value

    检查将要设置的key2和value是否存在于key1中,存在不成功,不存在设置成功

3. 检查key是否存在:hexists key1 key2

    成功返回1; 失败返回0

4. 获取:hget key1 key2

    成功返回value, 失败返回nil

5. 获取全部数据(包括key2 和value):hgetall key1

6. 获取key2值:hkeys key1

7. 获取value值:hvals key1

8. 获取数量(获取的是key2的数量):hlen key1

9. 设置多个数据:hmset key1 key2 value2 key3 value3

10. 获取多个数据:hmget key1 key2 key3

11. 删除多个数据:hdel key1 key2 key3


3、列表list

1. 添加:lpush key value1 value2 value3

    第一个进的值(value1)在索引位置最后; 最后一个进的值(value3)在索引位置0;

    Value值可以重复,有序

2. 获取长度:llen key

3. 获取key中的区间值:lrange key index1 index2

4. 设置指定索引位置的值:lset key index value

5. 获取指定索引位置的值:lindex key index

6. 删除索引位置为0的元素:lpop key

7. 删除索引位置最后的元素:rpop key


4、集合set

添加,删除,查找的时间复杂度为 o1

1. 添加:sadd key value1 value2 value3

    无序,不能重复

2. 返回集合的数量:scard key

3. 查看集合中的成员:smembers key

4. 差集:sdiff key1 key2

    哪一个key在前面,就返回哪一个key的不相同的值

5. 交集:sinter key1 key2

    返回相同的值

6. 并集:sunion key1 key2

    返回所有的值,如果有重复的值只返回一个

7. 随机返回指定数量的数据:srandmember key count

8. 验证是否是指定集合的成员元素:sismember key value

9. 移除集合中一个或多个元素:srem key value1 value2

10. 移除一个随机元素并且返回移除的元素:spop key


5、有序集合sortedset

1. 添加:zadd key value1 key1 value2 key2 (例: zadd sortedset 100 a 200 b)

    Value需要是数值

    根据value值从小到大排序

    key不能重复

2. 获取存储的数量:zcard key

3. 获取key中某个key1或者key2··的value值:zscore key key1

4. 获取指定分数区间的数量:zcount key value1 value2(例: zcount key 0 300)

5. 返回指定key的索引位置: zrank key key1

6. 给指定的key增加指定的数值: zincrby key value1 key1

7. 返回指定索引位置区间的key值: zrange key index1 index2

8. 返回指定索引位置区间的key值和value值:zrange key index1 index2 withscores

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,445评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,889评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,047评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,760评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,745评论 5 367
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,638评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,011评论 3 398
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,669评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,923评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,655评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,740评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,406评论 4 320
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,995评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,961评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,197评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,023评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,483评论 2 342

推荐阅读更多精彩内容