Redis知识归纳(快速入门)

redis 简介:

高性能的key-value数据库:

  1. Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。
  2. Redis不仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。
  3. Redis支持数据的备份,即master-slave模式的数据备份

redis 优势:

  1. 高并发读写的性能
  2. 大数据量扩展
  3. 操作简单,灵活

redis 优势:

  1. 高速读取数据
  2. 减轻数据库负担
  3. 多种数据结构的支持

与memcache的比较:

  1. 支持的数据类型更多,memcache支持字符串,redis支持的类型有字符串,哈希,链表,集合,有序集合
  2. redis把数据不仅存到内容还周期性的存到磁盘里,memcache只能存到内存中
  3. memcache的键存储数据最大是1M,而redis最大是1G

linux安装redis和使用(centos为例):

wget http://download.redis.io/releases/redis-2.8.17.tar.gz

然后解压

tar xzf redis-2.8.17.tar.gz

接着定位到redis的位置

cd redis-2.8.17

进行编译

make

make完后  执行安装到具体的一个位置

make PREFIX=/usr/local/redis install

执行安装之后,切换到安装的位置

cd /usr/local/redis

此时该位置下只有一个bin 里面有五个文件 分别有不一样的作用

redis-benchmark 命令性能测试m命令

redis-check-aof 和redis-check-dump是日志检测工具

redis-server是服务器启动的命令

redis-cli是客户端连接服务器的命令

接下来 进行复制配置文件

从redis的解压目录里面把redis.conf配置文件复制到redis的安装目录下

此时我们所在位置是 redis的安装目录下的bin文件下的位置

所以 我们执行命令(/root/redis-2.8.17是解压的配置文件的位置)复制到此时文件夹的外面一层

cp /root/redis-2.8.17/redis.conf  ../

执行之后 我们 cd.. 退出 就可以看到 在redis安装目录下有一个bin文件夹还有一个redis.conf的文件

然后 vim redis.conf 编辑这个文件 修改内容

进入文件之后 执行 /dae

就能找到一句话 daemonize no 将这个no 改成yes 按insert按键进行修改 之后按Esc 输入 :wq 进行保存退出

这样能让redis能在后台执行

接下来 还是停留在 redis的安装目录下

然后进行启动服务

./bin/redis-server redis.conf

然后检测下有没有启动成功

netstat -tunpl |grep 6379

 如果成功会出现类似下面的内容

 

接下来就是客户端连接redis服务

还是停留在 redis的安装目录下

./bin/redis-cli

这样就能完美的在linux上使用redis了


window本地使用redis:

启动redis:

cd 到redis的地方
然后执行 redis-server 就能开启服务

 使用redis:

保持刚才启动redis的窗口 然后再开一个窗口
执行命令 redis-cli
即可连接成功

数据类型:

类型1:string 字符串

是redis的最基本的类型

可以包含任何数据 包括jpg图片 或者序列化的对象

set命令 :设置键值

语法:set 键名称 值

如:set email [email protected]

get命令:获取键值

语法:get 键名称

如:get age

incr命令:将键值+1

语法:incr 键名称

如:incr age 返回的值等于原来的值+1

incrby命令:键值加上任意值

语法:incrby 键名称 要加上的值

如:incrbt age 2 返回的值等于原来的值+2 以此类推

类型2:hash哈希

 用来存储对应的MySQL中一行的数据 类似于关联数组

hset命令: 设置hash里面的field和value的值 一次只能一个键值

语法:hset 键名称 field value

如:hset user:id:1 id 1

hset user:id:1 name zzs

hset user:id:1 age 12

hget命令:获取某一条数据的某个键值 一次只能获取一个

语法:hget 键名称 field

如:hget user:id:1 id

hget user:id:1 name

hget user:id:1 age

hmset命令:一次设置多个键值

语法:hmset 键名称 field1 value1 field2 value2 field3 value3 field4 value4

如:hmset user:id:1 id 1 name clp age 12

hget命令:一次获取多个键值

语法:hmget 键名称 field1 field2 field3 field4

如:hmget user:id:1 id name age

hgetall命令:获取指定hash中的field和value

语法:hgetall 键名称

如:hgetall user:id:1

类型3:list链表

双向链表,通过push头部添加 pop尾部删除

list可以用作栈,也可以用作队列

上进下出:栈 数据先进后出 头部添加元素 从尾部取出先取后面添加的

下进上出:队列 数据先进先出 尾部添加元素 从头部取出取前面添加的

lpush命令:从链表的头部添加元素 (栈)

语法:lpush 链表名称 元素

如:lpush list1 hzy

lpush list1 cnc

lrange命令:获取链表里的元素

语法:lrange 链表名称 开始下标 结束下标(等于-1 表示获取全部)

下标从0开始

如:lrange list1 0 2

rpush命令:从链表的尾部添加元素(队列)

语法:rpush 链表名称 元素

如:rpush list2 cnc

rpush list2 hzy

ltrim命令:保留指定范围的元素 其他元素被删掉

语法:rtrim 链表名称 开始下标 结束下标 (等于-1 表示获取全部)

如:ltrim list2 0 -1

lpop命令:从链表头部删除一个元素 返回删除的元素 (队列)

语法:lpop 链表名称

如:lpop list2

类型4:set集合 (string的无序集合)

除了基本的增加删除操作以外,

还包含集合的取并集,交集,差集

运用最常见的功能就是好友推荐的功能

sadd命令:向集合添加元素

语法:sadd 集合名 元素1 元素2 元素3 元素4.。。。。

如:sadd set1 zzs clp cnc

smembers命令:获取集合中的元素

语法:smembers 集合名

如:smembers set1

sdiff命令:差集

语法:sdiff 集合A 集合B

如:sdiff set1 set2

sinter命令:交集

语法:sinter 集合1 集合2

如:sinter set1 set2

sunion命令:并集

语法:sunion 集合1 集合2

如: sunion set1 set2

scard命令:获取集合中元素的个数

语法:scard 集合名

如: scard set1

类型5:zset有序集合

是set的升级版本,在set的基础上增加顺序属性,

属性在添加和修改的时候可以指定,每次指定,zset会自动重新按照新的序号值进行排序,

操作中的key理解为zset的名字

zadd命令:有序集合添加元素 如果元素存在 则更新序号

语法:zadd 有序集合名 序号 内容

如:zadd zset3 1 we 3 our 2 zzs

zrange命令:按序号升序获取有序集合的元素(默认升序)

语法:zrange 有序集合名 开始下标 结束下标(等于-1 表示获取全部)

如:zrange zset3 0 2

zrevrange命令:按照序号降序获取有序集合的元素

语法:zrevrange 有序集合名 开始下标 结束下标 (等于-1 表示获取全部)

如:zrevrange zset3 0 -1

Redis常用命令:

1.keys

如:加上* 获取redis上所有的键(key)

 

如:keys set* 获取set名字相似的键(key)

2.exists

判断一个键(key)是否存在

语法:exists 键名 如果存在这个键返回1 不存在返回0

如:exists list

3.del

删除指定的键

语法:del 键名 删除成功 返回1 删除失败 返回0

如:

4.expire

设置键的有效时长(秒)

语法:expire 键名 秒 设置成功返回1 失败返回0

如:

5.ttl

返回一个键剩余的过期时间

语法:ttl 键名

如:

6.type

返回key的数据类型 string set list zset hash

语法:type 键名

如:

7.select

选择数据库 redis有0-15号数据库 默认是0

语法:selct 数据库序号

如:select 1

8.dbsize:

返回当前数据库的键的数量

语法:dssize

如:

9.flushdb(慎重使用)

清空当前数据库的所有的键

10.flushall

清空所有数据库的所有的键


安全认证:

设置客户端连接之后进行任何操作之前的密码

打开redis.conf 找到requirepass所在行

# requirepass foobared

去掉#号 然后将foobared改成要配置的密码

配置之后 保存文件 进行重启redis即可

验证方式:

方式一:通过客户端登陆到服务器时 redis-cli -a 密码

redis-cli -a 123456

方式二:登陆到服务之后,使用auth来进行验证 auth 密码

auth 123456


关于redis的入门知识就写到这里,后续会写一些关于redis在实际开发过程中的应用

希望多多关注,觉得有用的,加个关注! 

猜你喜欢

转载自blog.csdn.net/zhangzeshan/article/details/89362936
今日推荐