首页 技术 正文
技术 2022年11月18日
0 收藏 764 点赞 2,148 浏览 2534 个字

redis基础知识学习

数据结构:
1.String
添加:
set key value
get key
getset key value (先get再set)
incr key (key对应value原子性递增1)
decr key (key对应value原子性递减1)
incrby key increment (key对应value原子性递增 increment )
decrby key decrement
append key value (追加值)

2.List
特点:
链表的所有元素被移除,链表也从数据库中删除
添加:
前:lpush key values[1,2]
后:rpush key values[1,2]
仅当key存在
前:lpushx key values
后:rpushx key values
查看:
Lrange key start end (start end从0开始,为-1表示最后一个)
lien key 链表数量
删除:
lpop key
rpop key
扩展:
rpoplpush resource destination 将尾部弹出放到头部
llen key 数量
lset key index value:设置链表中的index的脚标的元素值,0代表链表的头元素,-1代表链表的尾元素。
linsert key before|after pivot value:在pivot元素前或者后插入value这个元素。
lrem key count value:删除count个值为value的元素,如果count大于0,从头向尾遍历并删除count个值为value的元素,如果count小于0,则从尾向头遍历并删除。如果count等于0,则删除链表中所有等于value的元素。

3.Set
特点:和java中Set相仿,可以在服务器端完成Set集合的聚合计算
添加删除:
sadd key values[valuel. value2…]:向set中添加数据,如果该key的值已有则不会重复添加
srem key members[memberl. member2…]:删除set中指定的成员

获得集合的元素:
smembers key:获取:et中所有的成员
sismember key member:判断参数中指定的成员是否在该set中,1表示存在,。表示不存在或
者该key本身就不存在。(无论集合中有多少元素都可以极速的返回结果)

集合的差集运算A-B:
sdiff keyl key2…:返回keyl与key2中相差的成员,l}ij.f-I_’} key fI}JJ}ItiJ=1:有关。即}}} ILII-fl:集。

集合的交集运算AN B
sinter keyl key2 key3…:返交集。

集合的并集运算A U B
sunion keyl key2 key3二:返回并集。

扩展:
scard key:获取set中成员的数量
srandmember key:随机返回set中的一个成员
sdiffstore destination keyl key2:将key1. key2相差的成员存储在destination上
sinterstore destination key[keys]:将返回的交集存储在destination上
sunionstore destination key[keys]:将返回的并集存储在destination上
应用场景:
存唯一值,保存某些对象依赖关系

4.Sort-Set
1.特点:
每个成员都有score与之对应,并按score从小到大排序,(应用场景:排行榜);
2.操作:
添加:
元素:zadd key score member score2 member2…
获得
单个元素:zscore key member
成员数量:zcard key
删除:
zrem key member
范围查询:
角标:zrange key start end [withscores]
分数从大到小排序后返回索引:zrevrange key start stop[withscores]
按排名范围删除元素:zremrangebyrank key start stop
zrangebyscore key min max [withscores] [limit offset count]:返回分数在[min,max]的成员并按照分
数从低到高排序。[withscores]:显示分数;[limit offset count]: offset,表明从脚标为offset的元
素开始并返回cou nt个成员。

zincrby key increment member:设置指定成员的增加的分数。返回值是更改后的分数。
zeount key min max:获取分数在[min,max]之间的成员
zrank key member:返回成员在集合中的排名。(从小到大)
zreVrank key member:返回成员在集合中的排名。(从大到小)

5.hash
1)hset key field value:为指定的key设定field/value对(键值对)。
2)hgetall key:获取key中的所有filed-vaule
3)hget key field:返回指定的key中的field的值
4)hmset key fields:设置key中的多个filed/value
5)hmget key fileds:获取key中的多个filed的值
6)hexists key field:判断指定的key中的filed是否存在
7)hlen key:获取key所包含的field的数量
8)hincrby key field increment:设置key中filed的值增加increment,如:age增加20

redis 特性

redis多数据库(16个)
下标从0到15,默认0
select x(选择哪个数据库)
移植key到数据库
move newkey 1

消息订阅与发布
subscribe xxx
psubscribt s*
publish channel content 在channel频道发布消息

1.事务
事务开启:multi
事务保存:exec
回滚:discard
特点:事务的原子性(停止响应其他服务端请求);事务中出错被忽略

2.持久化
RDB模式 : 在指定时间间隔内将内存中数据集快照持久化
redis.conf配置文件
save 900 1
save
save 30 10000每30秒若有10000个key变动则内存快照

AOF模式 : 写日志的方式记录操作

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:9,084
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,559
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,408
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,181
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,818
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,901