import com.mysql.jdbc.Connection; import entity.User; import org.junit.Test; import redis.clients.jedis.Jedis; import java.sql.*; import java.util.LinkedList; /** * @描述 队列解决高并发,redis,缓存与数据库不一致问题 * @参数 $ * @返回值 $ * @创建人 yufeng.lin@ucarinc.com * @创建时间 $ * @修改人和其它信息 */ public class TestQueueSolution { //获得mysqlconnection public Connection getMysqlConn() { String driver = "com.mysql.jdbc.Driver"; String url = "jdbc:mysql://localhost:3306/redistest?useSSL=false"; String username = "root"; String password = "root"; Connection conn = null; try { Class.forName(driver); //classLoader,加载对应驱动 conn = (Connection) DriverManager.getConnection(url, username, password); } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); } return conn; } public User execQuerySql(Connection connection,String sqlStr, LinkedList parms) throws SQLException { PreparedStatement pstmt = null; ResultSet resultSet = null; pstmt = connection.prepareStatement(sqlStr); for (int i = 1 ; i <= parms.size() ; i+
多线程模拟高并发情况redis 与数据库缓存不一致
最新推荐文章于 2022-10-08 23:38:48 发布
该博客通过Java实现了一个模拟高并发场景的示例,探讨了如何使用队列来解决Redis与数据库缓存不一致的问题。在示例中,创建了两个线程,一个用于删除Redis中的数据并延迟更新数据库,另一个用于在Redis中不存在数据时从数据库查询。通过线程同步和休眠机制,展示了如何避免并发导致的数据不一致。
摘要由CSDN通过智能技术生成