当前位置: 首页 > news >正文

珠海 网站建设网站门户怎么建设

珠海 网站建设,网站门户怎么建设,深圳互联网公司50强,沈阳建站经验1. 什么是Redis #xff1f; 处理#xff1a;内容缓存#xff0c;主要用于处理大量数据的高访问负载。Redis是一款高性能的NOSQL系列的非关系型数据库#xff0c;NoSQL(NoSQL Not Only SQL)#xff0c;意即“不仅仅是SQL”#xff0c;是一项全新的数据库理念#xff0…1. 什么是Redis 处理内容缓存主要用于处理大量数据的高访问负载。Redis是一款高性能的NOSQL系列的非关系型数据库NoSQL(NoSQL Not Only SQL)意即“不仅仅是SQL”是一项全新的数据库理念泛指非关系型的数据库。传统的关系数据库在应付web2.0网站特别是超大规模和高并发的SNS类型的web2.0纯动态网站已经显得力不从心暴露了很多难以克服的问题而非关系型的数据库则由于其本身的特点得到了非常迅速的发展。NoSQL数据库的产生就是为了解决大规模数据集合多重数据种类带来的挑战尤其是大数据应用难题。 数据类型 字符串类型 string 哈希类型 hash 列表类型 list 集合类型 set 有序集合类型 sortedset 应用场景 缓存数据查询、短连接、新闻内容、商品内容等等 聊天室的在线好友列表 任务队列。秒杀、抢购、12306等等 应用排行榜 网站访问统计 数据过期处理可以精确到毫秒 分布式集群架构中的session分离 2. NOSQL与传统数据库的比较 优点 性能NOSQL是基于键值对的可以想象成表中的主键和值的对应关系而且不需要经过SQL层的解析所以性能非常高。 可扩展性同样也是因为基于键值对数据之间没有耦合性所以非常容易水平扩展。 成本nosql数据库简单易部署基本都是开源软件不需要像使用oracle那样花费大量成本购买使用相比关系型数据库价格便宜。 查询速度nosql数据库将数据存储于缓存之中关系型数据库将数据存储在硬盘中自然查询速度远不及nosql数据库。 存储数据的格式nosql的存储格式是key,value形式、文档形式、图片形式等等所以可以存储基础类型以及对象或者是集合等各种格式而数据库则只支持基础类型。 扩展性关系型数据库有类似join这样的多表查询机制的限制导致扩展很艰难。 缺点 复杂查询可以用SQL语句方便的在一个表以及多个表之间做非常复杂的数据查询。 事务支持使得对于安全性能很高的数据访问要求得以实现。对于这两类数据库对方的优势就是自己的弱势反之亦然。 维护的工具和资料有限因为nosql是属于新的技术不能和关系型数据库10几年的技术同日而语。 不提供对sql的支持如果不支持sql这样的工业标准将产生一定用户的学习和使用成本。 不提供关系型数据库对事务的处理。 总结 关系型数据库与NoSQL数据库并非对立而是互补的关系即通常情况下使用关系型数据库在适合使用NoSQL的时候使用NoSQL数据库让NoSQL数据库对关系型数据库的不足进行弥补。一般会将数据存储在关系型数据库中在nosql数据库中备份存储关系型数据库的数据。 3. Redis 的使用 下载与配置 官网 解压后有如下文件夹 redis.windows.conf配置文件 redis-cli.exeredis的客户端 redis-server.exeredis服务器端 命令操作 redis的数据结构 redis存储的是key,value格式的数据其中key都是字符串value有5种不同的数据结构value的数据结构 字符串类型 string 哈希类型 hash map格式 列表类型 list linkedlist格式。支持重复元素 集合类型 set 不允许重复元素 有序集合类型 sortedset不允许重复元素且元素有顺序 字符串类型 string 存储 set key value 例如set zhangsan 18 获取 get key 例如get zhangsan 删除 del key 例如del zhangsan 哈希类型 hash 存储 hset key field value key 哈希表表名field 哈希键 例如hset myhash username lisi hset myhash password 123获取 hget key field: 获取指定的field对应的值 例如hget myhash username 获取myhash哈希表的username关键字对应的值 hgetall key获取所有的field和value 例如hgetall myhash23 1) username 2) lisi 3) password 4) 123删除 hdel key field 例如hdel myhash username 列表类型 list:可以添加一个元素到列表的头部左边或者尾部右边 添加自动创建列表 lpush key value: 将元素加入列表左表 rpush key value将元素加入列表右边 例如lpush myList a rpush myList b 获取lrange key start end 范围获取 例如lrange myList 0 -1 lrange myList 0 4 删除lpop key 删除列表最左边的元素并将元素返回 rpop key 删除列表最右边的元素并将元素返回 集合类型 set 不允许重复元素 存储sadd key value 例如sadd myset a 获取smembers key:获取set集合中所有元素 例如smembers myset 删除srem key value:删除set集合中的某个元素 例如srem myset a 有序集合类型 sortedset不允许重复元素且元素有顺序.每个元素都会关联一个double类型的分数。redis正是通过分数来为集合中的成员进行从小到大的排序。只不过键值对之间多了一个优先排序分数。 存储zadd key score value 例如zadd mysort 60 zhangsan zadd mysort 50 lisi 获取zrange key start end [withscores] 例如zrange mysort 0 -1 zrange mysort 0 4 withscores 删除zrem key value 例如zrem mysort lisi 通用命令 keys * : 查询所有的键 type key 获取键对应的value的类型 del key删除指定的key value 4. Redis 持久化 redis是一个内存数据库当redis服务器重启获取电脑重启数据会丢失我们可以将redis内存中的数据持久化保存到硬盘的文件中。 redis持久化机制 RDB默认方式不需要进行配置默认就使用这种机制。在一定的间隔时间中检测key的变化情况然后持久化数据。 //after 900 sec (15 min) if at least 1 key changed save 900 1//after 300 sec (5 min) if at least 10 keys changed save 300 10//after 60 sec if at least 10000 keys changed save 60 10000重新启动redis服务器并指定配置文件名称,就可以恢复数据 redis-server.exe redis.windows.conf AOF日志记录的方式可以记录每一条命令的操作。可以每一次命令操作后持久化数据。 编辑redis.windwos.conf文件 appendonly no关闭aof -- appendonly yes 开启aof appendfsync always 每一次操作都进行持久化 appendfsync everysec 每隔一秒进行一次持久化 (开启默认) appendfsync no 不进行持久化 5. Jedis Jedis: 一款java操作Redis数据库的工具(jar包) 使用步骤 下载jedis的jar包 使用 //1. 获取连接 Jedis jedis new Jedis(localhost,6379); //2. 操作 jedis.set(username,zhangsan); //3. 关闭连接 jedis.close();Jedis操作各种redis中的数据结构 package jedis.test; import jedis.util.JedisPoolUtils; import org.junit.Test; import redis.clients.jedis.Jedis; import redis.clients.jedis.JedisPool; import redis.clients.jedis.JedisPoolConfig;import java.util.List; import java.util.Map; import java.util.Set;/*** jedis的测试类*/ public class JedisTest {/*** 快速入门*/Testpublic void test1(){//1. 获取连接Jedis jedis new Jedis(localhost,6379);//2. 操作jedis.set(username,zhangsan);//3. 关闭连接jedis.close();}/*** string 数据结构操作*/Testpublic void test2(){//1. 获取连接Jedis jedis new Jedis();//如果使用空参构造默认值 localhost,6379端口//2. 操作//存储jedis.set(username,zhangsan);//获取String username jedis.get(username);System.out.println(username);//可以使用setex()方法存储可以指定过期时间的 key valuejedis.setex(activecode,20,hehe);//将activecodehehe键值对存入redis并且20秒后自动删除该键值对//3. 关闭连接jedis.close();}/*** hash 数据结构操作*/Testpublic void test3(){//1. 获取连接Jedis jedis new Jedis();//如果使用空参构造默认值 localhost,6379端口//2. 操作// 存储hashjedis.hset(user,name,lisi);jedis.hset(user,age,23);jedis.hset(user,gender,female);// 获取hashString name jedis.hget(user, name);System.out.println(name);// 获取hash的所有map中的数据MapString, String user jedis.hgetAll(user);// keysetSetString keySet user.keySet();for (String key : keySet) {//获取valueString value user.get(key);System.out.println(key : value);}//3. 关闭连接jedis.close();}/*** list 数据结构操作*/Testpublic void test4(){//1. 获取连接Jedis jedis new Jedis();//如果使用空参构造默认值 localhost,6379端口//2. 操作// list 存储jedis.lpush(mylist,a,b,c);//从左边存jedis.rpush(mylist,a,b,c);//从右边存// list 范围获取ListString mylist jedis.lrange(mylist, 0, -1);System.out.println(mylist);// list 弹出String element1 jedis.lpop(mylist);//cSystem.out.println(element1);String element2 jedis.rpop(mylist);//cSystem.out.println(element2);// list 范围获取ListString mylist2 jedis.lrange(mylist, 0, -1);System.out.println(mylist2);//3. 关闭连接jedis.close();}/*** set 数据结构操作*/Testpublic void test5(){//1. 获取连接Jedis jedis new Jedis();//如果使用空参构造默认值 localhost,6379端口//2. 操作// set 存储jedis.sadd(myset,java,php,c);// set 获取SetString myset jedis.smembers(myset);System.out.println(myset);//3. 关闭连接jedis.close();}/*** sortedset 数据结构操作*/Testpublic void test6(){//1. 获取连接Jedis jedis new Jedis();//如果使用空参构造默认值 localhost,6379端口//2. 操作// sortedset 存储jedis.zadd(mysortedset,3,亚瑟);jedis.zadd(mysortedset,30,后裔);jedis.zadd(mysortedset,55,孙悟空);// sortedset 获取SetString mysortedset jedis.zrange(mysortedset, 0, -1);System.out.println(mysortedset)//3. 关闭连接jedis.close();}/*** jedis连接池使用*/Testpublic void test7(){//0.创建一个配置对象JedisPoolConfig config new JedisPoolConfig();config.setMaxTotal(50);config.setMaxIdle(10);//1.创建Jedis连接池对象JedisPool jedisPool new JedisPool(config,localhost,6379);//2.获取连接Jedis jedis jedisPool.getResource();//3. 使用jedis.set(hehe,heihei);//4. 关闭 归还到连接池中jedis.close();;}/*** jedis连接池工具类使用*/Testpublic void test8(){//通过连接池工具类获取Jedis jedis JedisPoolUtils.getJedis();//3. 使用jedis.set(hello,world);//4. 关闭 归还到连接池中jedis.close();;} } 注意使用redis缓存一些不经常发生变化的数据。 数据库的数据一旦发生改变则需要更新缓存。 数据库的表执行 增删改的相关操作需要将redis缓存数据情况再次存入 在service对应的增删改方法中将redis数据删除。
http://www.hkea.cn/news/14362261/

相关文章:

  • 没有营业执照怎么样做百度企业网站企业商务网站建设
  • 网站开发和移动开发森动网网站建设好吗
  • 外贸推广网站公司企业vi怎么设计
  • 一个人做网站 没有人写文章怎么办短视频软件开发
  • 八面通网站建设正邦做网站多少钱
  • 苍南哪里有网站建设公司东莞网站建设营销平台的
  • 自己可以做类似淘宝客网站吗网站开发的背景是指什么软件
  • ae模板精品站网站的建议
  • 企业展示网站如何建同城换物网站为什么做不起来
  • 哈密建设局网站wordpress登陆背景
  • 卡片式设计网站制作网站开发网站开发设计
  • 安徽省建设部网站官网网站开发后台php技术
  • 个人网站建设的收获成都网站设计公司排名
  • 杭州专业做网站的公司哪家好windows10优化大师
  • 文化传媒网站建设如何实现输入域名访问网站首页
  • 如何将网站建设得更好网页源代码中什么标记必不可少
  • 大连营销型网站建设建设网咨询
  • 网站短链接怎么做的公司注册资金最新规定2024
  • 免费在线网站建设本地网站建设电话
  • 无锡网站关键词优化软件咨询活动策划书
  • 网站设计与系统的区别wordpress catchy
  • 公司网站建设的策划方案网站建设工作下步打算
  • 医疗机械网站怎么做宁波优化网站厂家
  • 网站建设mrd文档模板网站 文件夹 上传
  • 深圳响应式网站开发网站验证码插件
  • 东莞网站设计企业便宜的seo网站优化排名
  • 企业网站建设进度东莞网站建设优化推广
  • 创建手机网站免费昆明网站制作的教程
  • 东营建站公司seo教程网站优化
  • 西宁网站制作哪家公司好全国疾病监测系统