欢迎投稿

今日深度:

redis入门学习,redis入门

redis入门学习,redis入门


 

/usr/loca/redis目录下:./redis-server

        后端启动带配置文件启动redis:

          /usr/local/redis目录下: ./redis.server redis.conf

       退出:Ctrl+C

     /usr/local/redis 目录下:   ./redis-cli

    设置变量:

 set name tom

        set age 21

        set addr beijing

   获取变量:get name、get age、get addr

                 具体实用(二)

     除了“\n”和空格不能作为名字的组成内容外,其他内容口可以作为key的名字部分,名字长度不做要求。

   exists key  测试指定key是否存在

   del key1 key2 .... kn  删除指定key

   type key  返回指定key的value类型

Keys pattern  返回匹配指定模式(keys  a*)

rname oldkey newkey    改名字

dbsize  返回当前数据库的key数量

expire key  seconds  为key指定过期时间

Ttl key   返回key的剩余过期秒数

Select db-index  选择数据库(16[标号:0-15]个)

Move key db-index   将key从当前数据库移动到指定数据库

Flushdb   删除当前数据库中所有的key

Flushall 删除所有数据库中所有的key

 

              String类型操作

String 是redis最基本的类型

Redis的string可以包含任何数据。包括.jpg图片(二进制)或者序列化对象。

单个value值最大上限是1G字节。

如果只用string类型,redis就可以看做加上持久化特性的memcache

Set key value  设置key对应值为string类型的value

Mset key1 value1 .....keyN valueN  一次性设置多个key的值

Mget key1 key2 ..... keyN  一次性获取多个key的值

Incr key  对key的值做加加操作,并返回新的值

Incrby key integer  加指定值

Decrby key integer  减指定值

Append key value 给指定key的字符串值追加value

Substr key start end 返回截取过的key的字符串值

 

               List类型操作

List类型是一个双向链表,通过push,pop操作从链表的头部或者尾部添加删除元素。这使得list既可以作用栈,也可以作用队列。

   List应用场景:

         获取最新的10个登录用户信息:select * from user order by logintime desc limit 10;  数据量大时全部数据收到影响,对数据库负载高,必要情况加索引,索引比较耗费系统资源。

     如果通过list实现这个功能,可以在list中只保留最新的10个数据,每次进来一个新的数据就删除一个旧的数据,极大节约资源消耗。

Lpush key string

Rpop key     从List尾部删除元素,并返回该元素

llen key 返回 key  

Lrange key start  end

Ltrim key start end   截取list

 

                set集合类型操作

Redis的set是string类型的无序集合,不能重复。

Set元素最大可以是2的32次方-1 个元素。(42亿多)

Set集合类型除了基本的添加删除操作,取并集,交集,查集。通过这些操作可以很容易的实现sns中的好友推荐功能。

sadd key member  

Sinter key1 key2 ... keyN 返回所有给定key的交集

Sunion  key1 key2 ... keyN 返回所有给定key的并集

Sdiff  key1 key2 ... keyN 返回所有给定key的差集(两个集合顺序有影响)

Smenbers key  查看set所有元素

Sismember key menber 该元素是否存在于set中(1在 0不在)

Scard  返回set中元素的个数

Smove p1 p2 member 从p1中把member移动到p2中

Srem key member [member]  移除元素,成功返回1

          Sort Set 排序集合类型

和set一样sorted set 也是string类型元素的集合,不同的是每一个元素会关联一个。通过权值可以有序的获取集合中的元素。

  Sort set 类型适合场景:

   获得热门帖子(回复量):select * from message order by backnum desc limit 5; (单该sql比较耗费MySQL数据库资源。)

 

Zadd key score member   添加元素到集合,score是权值,member是值

Zrevrange key start end      按score(权值)逆序

Zrank key member 返元素在回集合中的排名,由小到大排序的

Zrevrank key member

Zrange key start end  

Zremrangebyrank key min max 删除集合中排名在给定区间的元素(权值由小到大排序)

Zcard key  返回元素个数

Zscore key element 返回元素的权值

Zrem key member 删除指定元素

Zincrby key incr member    给成员增加权值

         Hash数据类型

 

hash数据类型存储的数据与mysql数据库中存储的一条记录极为相似。

 

                持久化功能

Redis为了内部数据的安全考虑,会把本身的数据已文件的形式保存到硬盘中一份,在服务器重启之后自动把硬盘的数据恢复到内存(redis)的里边,数据保存到硬盘的过程就称为“持久化”过程。

 Snap shotting 快照持久化

        redis.conf 配置文件中:

 (15分钟) save 900   1   超过1个Key数据被修改,则持久化一次

 (5分钟) save 300  10   超过10个Key数据被修改,则持久化一次

 (1分钟) save 60 10000  超过1w个Key数据被修改,则持久化一次

     1.1手动发起快照持久化

     2.append onluy file(AOF持久化) 精细持久化(秒级)

  给别的主机发起快照持久化命令:

./redis-cli    -h   (主机IP地址)  -p  (主机端口号)    bgsave

自己的电脑:./redis-cli  bgsave

  Redis持久化相关命令:

  Bgsave    一步保存数据到磁盘(快照保存)

  Lastsave 返回上次成功保存到磁盘的Unix时间戳

 Shutdown   同步保存到服务器并关闭redis服务器

 Bgrewriteaof  当日志文件过长时优化AOF日志文件存储

./redis-cli   bgrewriteaof

./redis-cli   bgsave

./redis-cli   -h  127.0.0.1  -p  6379  bgsave   #手动发起快照

 

 Append only file(AOF持久化)

本质:把用户执行的每个“写”指令(添加、修改、删除)都备份到文件中,还原数据库的时候就是执行具体写指令而已。

开启AOF持久化(会清空redis内部的数据)

(同时可以修改备份文件的名字,默认是appendonly.aof)

配置文件被修改,需要删除旧进程。

查看旧的进程:ps  -A | grep  redis

杀死进程(不管进程做什么,可能造成数据丢失): kill  -9  (查出来的端口号)

 

redis.conf配置文件中备份频率:

   appendfsync always  表示每“写”一次备份一次,数据安全性最高,但是耗费资源。不推存使用

  appendfsync everysec 表示每秒备份一次,数据安全性中等,性能中等。折中,推存。

  appendfsync no 表示看服务器是否处于繁忙状态,如果是则暂时不备份,如果不忙则备份。数据不安全,行能最高。持久化没保证。

 

2.1为aof备份文件做压缩优化处理:

./redis-cli    -h  (主机号)   -p  (端口号)  bgrewriteaof

自己的主机:./redis-cli   bgrewriteaof

例如:对个incr 指令做优化处理

 

 

www.htsjk.Com true http://www.htsjk.com/redis/30301.html NewsArticle redis入门学习,redis入门   /usr/loca/redis目录下:./redis-server         后端启动带配置文件启动redis:           /usr/local/redis目录下: ./redis.server redis.conf        退出:Ctrl+C  ...
相关文章
    暂无相关文章
评论暂时关闭