程序员

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

2018-07-21  本文已影响0人  楠楠桑

一、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

上一篇下一篇

猜你喜欢

热点阅读