上街三屏网站建设,江苏省建设信息网,网站建设的研发项目,youhosting wordpress数据结构类型操作#xff1a; 
数据结构#xff1a;存储数据的方式 
数据类型 
算法#xff1a;取数据的方式#xff0c;代码就把数据进行组合#xff0c;计算、存储、取出。 
排序算法#xff1a;冒泡排序、堆排序  二分。 key#xff1a; 
key的命名规则不同于一般语言… 
数据结构类型操作 
数据结构存储数据的方式 
数据类型 
算法取数据的方式代码就把数据进行组合计算、存储、取出。 
排序算法冒泡排序、堆排序  二分。 key 
key的命名规则不同于一般语言键盘上除了空格、\n换行外其他大部分字符都可以使用。 
像“my key”和“mykey\n”这样包含空格和换行的key是不允许的。变量名称 
我们在使用的时候可以自己定义一个key的格式 
key的命名不要太长占用内存查询慢。 
key不要太短。像u:1000:pwd:123456 就不如user:1000:password:123456 可读性好。 127.0.0.1:6379 exists name
(integer) 1
127.0.0.1:6379 exists age
(integer) 0
127.0.0.1:6379
127.0.0.1:6379 help existsEXISTS key [key ...]summary: Determine if a key existssince: 1.0.0group: generic127.0.0.1:6379 exists name age 
里面默认有16个数据库从0到15。 
move name 16 
select 16 
keys * dbsize flushdb 
flushall 
这两个命令在生产环境中尽量少用。 String数据类型 
String是Redis最基本的类型。 
Redis的String可以包含任何数据。包括jpg图片base64或者序列化对象。 
单个value的最大上限是512MB。 
如果只用String类型Redis就可以看做是持久化性的memcached。 序列化字符串。 
图片也可以字符串。 substr name 5 10 
append name centos strlen name set: 
Redis的set是String类型的无序集合集合里面不允许有重复的元素。 
set元素最大可以包含2的32次方-1个元素。 
关于set元素类型除了基本的添加删除操作其他常用的操作还包括集合的取并集union、交集intersection、差集difference、通过这些操作可以很容易地实现sns中的好友推荐功能。 
而且是内存操作速度非常快。 tipsmysql连表文氏图 
需求实现朋友圈的存储和共同好友的计算。 
设计 
key value 
xiaomingFR xiaohong xiaoqiang xiaogang xiaohei xiaobai 
xiaohongFR xiaoming xiaolv xiaolan xiaobai xiaohei 
127.0.0.1:6379 sadd xiaomingFR xiaohong  xiaoqiang  xiaogang  xiaohei  xiaobai
(integer) 5
127.0.0.1:6379 sadd xiaohongFR xiaoming  xiaolv  xiaolan  xiaobai  xiaohei
(integer) 5
127.0.0.1:6379
127.0.0.1:6379
127.0.0.1:6379 smembers xiaomingFR
1) xiaogang
2) xiaohong
3) xiaoqiang
4) xiaohei
5) xiaobai
127.0.0.1:6379 smembers xiaohongFR
1) xiaobai
2) xiaolv
3) xiaolan
4) xiaoming
5) xiaohei
127.0.0.1:6379
127.0.0.1:6379 sinter xiaomingFR xiaohongFR
1) xiaohei
2) xiaobai
127.0.0.1:6379 sunion xiaomingFR xiaohongFR
1) xiaobai
2) xiaolv
3) xiaohong
4) xiaogang
5) xiaolan
6) xiaoming
7) xiaoqiang
8) xiaohei127.0.0.1:6379 sdiff xiaomingFR xiaohongFR
1) xiaohong
2) xiaogang
3) xiaoqiang
127.0.0.1:6379 sdiff xiaohongFR xiaomingFR
1) xiaolv
2) xiaolan
3) xiaoming主要是看业务是怎么操作的。 使用set建立黑名单白名单 
127.0.0.1:6379 sadd black_list 192.168.17.1
(integer) 1
127.0.0.1:6379 sismember black_list 192.168.17.1
(integer) 1
127.0.0.1:6379 sismember black_list 192.168.17.110
(integer) 0 zset 
和set一样sorted set也是string类型元素的集合有序集合元素不允许重复。 
不同的是每个元素都会关联一个权。权重score。 
通过权值可以有序地获取集合中的元素可以通过score值进行排序。 
这个score就是权值。 需求实现手机App市场的软件排名。排名榜单。 
设计 
Key : hotTop 
id Score权重 name 
1   2   QQ 
2   3   wechat 
3   5   alipay 
4   7   taobao 
5 10   king 
6   8   jd 127.0.0.1:6379 zadd hotTop 2 QQ 3 wechat 5 alipay 7 taobao 10 king 8 jd
(integer) 6# 从小到大排序。
127.0.0.1:6379 zrange hotTop 0 5
1) QQ
2) wechat
3) alipay
4) taobao
5) jd
6) king# 从大到小排序。
127.0.0.1:6379 zrevrange hotTop 0 5
1) king
2) jd
3) taobao
4) alipay
5) wechat
6) QQ127.0.0.1:6379 zscore hotTop wechat
3 
zrange命令可以看到jd排第五名淘宝排第四名。 
获取jd的score和taobao的score。 
127.0.0.1:6379 zscore hotTop jd
8
127.0.0.1:6379 zscore hotTop taobao
7把jd的权值调小到6才能排到taobao前面。那jd的权值减小2。 
127.0.0.1:6379 zincrby hotTop -2 jd
6
127.0.0.1:6379
127.0.0.1:6379 zrange hotTop 0 5
1) QQ
2) wechat
3) alipay
4) jd
5) taobao
6) king
127.0.0.1:6379 zscore hotTop jd
6使用zincrby 增加一个负值就能将score权值进行了调整。 zrank是排名下标。从小到大排名。 
127.0.0.1:6379 zrank hotTop jd
(integer) 3hash 
如果采用hash结构redis的内存使用率更高。效率更高一些。 
使用redis做缓存可以使用hash结构压缩效率和使用效率更高比String。 
hash存储数据和关系型数据库mysql存储的一条数据的结构极为相似。 
key: value  (field: value) 127.0.0.1:6379 hmset devops username devops phone 13813424930 email 853166277qq.com job java
OK127.0.0.1:6379 hget devops job
java
127.0.0.1:6379 hgetall devops
1) username
2) devops
3) phone
4) 13813424930
5) email
6) 853166277qq.com
7) job
8) java127.0.0.1:6379 hdel devops email
(integer) 1
127.0.0.1:6379 hgetall devops
1) username
2) devops
3) phone
4) 13813424930
5) job
6) java127.0.0.1:6379 hkeys devops
1) username
2) phone
3) job
127.0.0.1:6379 hvals devops
1) devops
2) 13813424930
3) java127.0.0.1:6379 hset devops email 13813424930
(integer) 1
127.0.0.1:6379
127.0.0.1:6379 hgetall devops
1) username
2) devops
3) phone
4) 13813424930
5) job
6) java
7) email
8) 13813424930 
使用Redis做缓存要学会使用hash做缓存。