redis相关操作(持续更新中)

redis使用的是windows 64位的版本,下载地址如下:

http://download.csdn.net/detail/clarkkentyang/9735893


redis相关命令手册:

http://download.csdn.net/detail/clarkkentyang/9740103


一、redis定义:

使用C语言开发的一个高性能键值对数据库,通过键值对对数据进行存储。

1.启动redis:redis-server

2.修改端口:redis-server --port 6380

3.关闭redis:redis-cli shutdown

3.客户端登录:redis-cli


二、键值对类型:

1、String:允许存储的最大容量的512MB

a.设置值:set key value

b.获取值:get key

c.设置一个数值:set num 100

 可以对num进行加1增长:incr num

 增加指定数值(如100):incrby num 100

 对num减1:decr num

 对num减100:decrby num 100

d.增加浮点数:incrbyfloat num 1.1

e.在尾部添加值:append num  100

f.查看字符串长度:strlen num

g.设置多个键值对:mset key1 value1 key2 value2 key3 value3

h.获取多个键值对:mget key1 key2

i.取值并二次赋值:getset key1 revalue1


2、hash

a.给字段赋值:hset car price100

b.取值:hget car price

c.为多个字段赋值:hmset car name AODI price 90

d.取多个字段值:hmget car name price

e.获取所有键值:hgetall car

f.判断字段是否存在:hexists car name

g.字段不存在的时候赋值:hsetnx car model 2

h.为字段增加某数:hincrby car model 10

i.删除某字段:hdel car model

j.查看所有键值:hkeys car

k.查看所有值:hvals car

l.查看字段数量:hlen car


3、list

a.添加元素:

向列表左边添加元素:lpush numbers 1

向列表右边添加元素:rpush nunbers 2

可以添加多个元素,用空格分隔,返回的为列表元素的个数

b.弹出元素:

弹出列表左边的元素:lpop numbers

弹出列表右边的元素:rpop numbers

c.获取元素的个数:llen numbers

d.获取列表的片段(支持负索引,表示从右开始):lrange numbers 0 2

e.删除列表中指定元素的值:lrem numbers count  value

 count  >0 ,从列表左边开始删除前count个值为value的元素

 count  =0 ,会删除所有值为value 的元素

 count  <0 ,从列表右边开始删除前|count|个值为value的元素

f.查看索引的值:lindex listName indexNumber

g.删除指定索引范围之外的所有元素:ltrim listName indexStart indexEnd

h.指定元素前(后)插入元素:linsert listName after(before)  pivot value

i.将元素从一个列表转到另一个列表:rpoplpush listRemove listAdd



4、set

a,添加元素(可以添加多个):sadd key members

b,删除元素:srem key member

c,获取全部元素:smembers key

d,查看集合key中是否有元素member:sismember key member

e,集合间的运算:

求set1中不含set2的元素:sdff set1 set2

求set1和set2的相同元素:sinter set1 set2

求set1和set2的所有的元素:sunion set1 set2

f,求集合个数:scard set1

g.随机选取集合中的数:sramdmember set1

h.随机弹出一个元素:spop set1


5、sortedset

a.添加元素:zadd sortedset score member

b.修改元素:zscore sortedset score member

c.获取元素:zscore sortedset kaka

d.获取排名在某个范围的元素列表

(从小到大):zrange sortedset start end (withscores)

(从大到小):zrevrange sortedset start end (withscores)

e.获取指定分数范围内的元素:zrangescore sortedset min max limit offset count

如果不希望包含可以再分数前加“(”

支持正负无穷大:-inf  +inf

从offset开始取count个元素:limit offset count

f.给某个元素增加分数:zincrby  sortedset incrNumber member

g.获取元素个数:zcard sortedset

h.获取指定范围内元素的个数:zcount key min max

i.删除元素:zrem key members

j.按照排名范围删除元素:zremrangebyrank key start stop

k.按照分数范围删除元素:zremrangebyscore key start stop

l.获取元素排名:zrank key member


三、事务(redis事务不支持回滚功能):

1.开启事务multi,将下面的命令存起来(返回queued),然后执行exec命令执行整个事务的命令。

2.错误处理:

语法错误,事务连正确的命令都不会执行

运行错误,事务依旧会执行,

3.数据监控watch:监控一个或多个键,一旦其中一个被修改或者删除,之后的事务都不会执行。

unwatch:取消监控


四、过期时间:

1.设置过期时间(以秒为单位):expire session 900

返回1表示设置成功,返回0表示键不存在或者设置失败

2.查看键还有多长时间过期:ttl session

返回>=0:表示键还有多少秒过期

返回-1:表示没有设置过期时间

返回-2:表示查询的键不存在

3.设置成永不过期:persist session

对session重新赋值,也会将键设置为永不过期


五、排序:

1.sort命令:

普通排序:sort list

通过alpha实现参数:sort listalpha alpha

倒序可以使用desc实现




十四、应用场景:

1、缓存

2、分布式集群架构中的session分离

3、聊天室的在线好友列表

4、任务队列

5、应用排行榜

6、网站访问统计

7、数据过期处理


五、基本操作:

1. redis-cli 连接到redis客户端

2. 设置一个名为world 为hello的键:set hello world

3. 查看所有键值对: keys *

4. 查看是否存在world(0表示不存在,1表示存在) :exists hello 

5. 删除键值对:del hello

6. 查看键值的类型:type hello


六、持久化方式:

1.Rdb方式:redis默认方式,通过快照将数据持久化到磁盘中

redis.windows.conf中可以修改相关参数:

a.保存条件

save 900 1
save 300 10
save 60 10000

b.保存名称:dbfilename dump.rdb

c.保存路径:dir ./

缺点:如果redis非法关闭,会丢失最后一次持久化之后的数据


2.Aof方式:

操作一次数据,存储持久化文件中。

a.开启Aof持久化方式:redis.windows.conf配置文件中 appendonly yes


七、主从库复制

主机进行增删改操作,从机会将数据进行同步,从机只有读权限。

1.主机配置:不需要配置

2.从机配置:修改redis.windows.conf中的 # slaveof <masterip> <masterport>  注释去掉,改为slaveof IP地址 端口号







评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值